请问个关于JAVA关键字Static的问题

2025-06-21 20:07:21
推荐回答(1个)
回答1:

也就是说,在Static方法中,不能引用非Static变量或非Static方法。
因为Static方法是静态的,它可以不用实例化就能用类名.static方法()。

class A {
static String hello1 = "Hello1";
String hello2 = "Hello2";
static void printlnHello() {
System.out.println(hello1);//正确,因为引用的是非实例变量
System.out.println(hello2);//错误,因为引用的是实例变量
}
}
class Test {
public static void main(String[] args){
A.printlnHello(); //printlnHello是static方法,所以可以用类名直接调用而不用实例化对像,所以也就因为这样,如果你用static方法去引用实例变量,A.printlnHello()这种调用就不成立了,因为Hello2是实例变量,你没有实例A就不会有它,所以就不可以调用了。
}
}