这是我的第一堂课
public class DigitalDevice {
public int abc = 1;
}
这是我的第二堂课
public class SmartPhone extends DigitalDevice {
SmartPhone() {
abc = 2;
super.abc=3;
DigitalDevice.abc=4;
}
}
在SmartPhone类中,当我回忆abc时,DigitalDevices的abc是可访问和可更改的,当我回忆super.abc时,DigitalDevices的abc也是可访问和可更改的,但何时回忆DigitalDevice.abc,DigitalDevices的abc 不可访问且不可更改,并且 ide 要求在 DigitalDevice 类中将 abc 设为静态。 在 SmartPhone 类 abc=super.abc=DigitalDevice.abc 中,这是真的吗?
不,这不是真的。
abc
和 super.abc
是相同的,以及 this.abc
(在您的代码中未使用)。但是 DigitalDevice.abc
是尝试调用类 abc
中名为 DigitalDevice
的 static字段。该类中没有这样的静态字段,您的 IDE 正确地告诉您这一点。检查何时在JAVA中使用静态/非静态变量,了解静态和非静态之间的区别。