【发布时间】:2014-01-27 17:14:40
【问题描述】:
public class Ride {
public static String name;
public static int ticketsRequired;
public static float heightRequirement;
public Ride(String name, int ticketsRequired, float heightRequirement) {
this.name = name;
this.ticketsRequired = ticketsRequired;
this.heightRequirement = heightRequirement;
}
public static void main(String args[]) {
Ride coaster, tosser;
coaster = new Ride("Roller Coaster", 6, 4.25f);
tosser = new Ride("Tummy Tosser", 7, 4.9f);
}
}
不管我叫什么,它只取最后一个实例“tosser”的值,这是为什么呢?我搞砸了属性吗?
【问题讨论】:
-
你认为
static字段是/做什么? -
@Sotirios Delimanolis 我认为如果我们想在另一个类中使用属性,我们需要将它们声明为静态,对吧?
-
错了,阅读documentation。
-
但是我尝试将这些属性声明为非静态,当我在另一个类中使用“something.ticketRequired”时,它说“不能从静态上下文引用非静态变量ticketRequired”。跨度>
-
阅读我之前发布的链接。如果您不打算使用它,为什么还要将参数传递给您的方法?
标签: java constructor static