这是我输入所有代码后收到的错误:
代码:
//show the form snack
snack.ShowDialog();
//define ticketCost as ticketCost on snackform
snack.ticketCost = ticketCost;
错误: 使用实例引用无法访问成员'snackForm.ticketCost';使用类型名称来限定它
答案 0 :(得分:0)
您只能使用类型名称访问静态成员。
因此,你需要写,
`MyClass.MyItem.Property1`
或者(这可能是您需要做的)通过从定义中删除Property1
关键字来使static
成为实例属性。
静态属性在其类的所有实例之间共享,因此它们只有一个值。现在定义它的方式,制作MyItem类的任何实例都没有意义。
静态意味着Hello中只有一个“snack”实例,而不是“Hello”类的每个单独实例中的一个实例,或者更多 - 这意味着将有一个共同的“零食”参考“Hello”类的所有实例。
所以,如果你要在你的代码中的任何地方做一个“新的Hello”:A-在第一个场景中(在更改之前,不使用“static”),它会在每次“new Hello”时创建一个新的时钟在第二个场景中调用B-但是B-(在更改之后,使用“静态”),每个“新的Hello”实例仍将共享并使用首次创建的初始和相同的“零食”参考。
除非你需要在主要之外的某个地方使用“零食”,否则这也会起作用:
package hello;
public class Hello
{
public static void main(String args[])
{
Snack snack=new Snack();
snack.ticketCost();
}
}