Java ObjectReference.VariableName是什么意思? 我不明白这部分:
实例变量可以通过调用类内的变量名直接访问。但是,在静态方法中(当实例变量具有可访问性时),应该使用完全限定名来调用它们。ObjectReference.VariableNameJava ObjectReference.VariableName是什么意思? 我不明白这部分:,java,Java,实例变量可以通过调用类内的变量名直接访问。但是,在静态方法中(当实例变量具有可访问性时),应该使用完全限定名来调用它们。ObjectReference.VariableName 你能举个例子吗?静态方法是在不引用该对象实例的情况下调用的方法。因此不能静态调用实例变量,因为每个实例都有自己的值。因此,在静态方法中,您需要一个对象的特定实例,以便知道您尝试使用的实例变量的值 区别在于如何访问这些变量: class myClass { public static int staticVar; publ
你能举个例子吗?静态方法是在不引用该对象实例的情况下调用的方法。因此不能静态调用实例变量,因为每个实例都有自己的值。因此,在静态方法中,您需要一个对象的特定实例,以便知道您尝试使用的实例变量的值 区别在于如何访问这些变量:
class myClass {
public static int staticVar;
public int nonStaticVar;
//Constructor initialises both
}
静态方法:
int otherVariable = MyClass.staticVar;
如您所见,对于静态变量,您不需要创建对象来访问它。请注意,您可以想象一个静态变量具有“每个类一次”的特性,这意味着您不能有两个版本的staticVar
非静态(实例变量):
要拥有两个版本的NonStativar,只需创建两个对象,并在这两个对象中为该变量指定不同的值。请注意,在这种情况下,您必须创建一个对象。“您能给出一个示例吗”可能是所有编写过的Java代码。您不了解其中的哪一部分?您确实需要了解编程的基本原理事实上,@ohgodspider,这是对静态变量的引用,不是从静态方法中复制到实例变量。
MyClass instanceOfMyClass = new myClass();
int otherVariable2 = instanceOfMyClass.nonStaticVar;