直到我在Oracle Doc上读到这个(类方法不能直接访问实例变量或实例方法 – 它们必须使用对象引用)我唯一知道的,关于实例方法和变量不能被类(静态)方法访问直.
当它说……他们必须使用对象参考时意味着什么?这是否意味着我们可以使用类方法间接访问实例变量和方法?
先感谢您.
解决方法:
这意味着允许这样做:
public class Test {
public int instanceVariable = 42;
public void instanceMethod() {System.out.println("Hello!");}
public static void staticMethod() {
Test test = new Test();
System.out.println(test.instanceVariable); // prints 42
test.instanceMethod(); // prints Hello!
}
}
这不是:
public class Test {
public int instanceVariable = 42;
public void instanceMethod() {System.out.println("Hello!");}
public static void staticMethod() {
System.out.println(instanceVariable); // compilation error
instanceMethod(); // compilation error
}
}
标签:java,class,methods
来源: https://codeday.me/bug/20190722/1505495.html