给定一个类
public class A {
public static int classVal;
}
在运行时,类型A
是否成为对类对象
的引用?
public static void main(String[] args) {
A a = new A();
A.classVal = 100;
A.classVal = 200;
}
如果A.classVal
是对静态类变量的引用,那么A
是对代表该类的对象的引用吗?
a.getClass()
是否与 A
引用同一个对象?
澄清
如果A.classVal
是一个引用,并且A
只不过是一个名称,那么类是否只是成为使用类名称作为查找表的一部分关键?我试图了解类在运行时会发生什么。
最佳答案
不,A
根本不是引用。这只是类(class)名称。 A
本身并不是一个表达式 - 它没有值。它只能是另一个表达式的一部分(例如 A.classVal
或 new A()
)。
关于java 类对象和类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31264383/