在Java中,假设getClass()
在用作基类的类的构造函数中调用将提供有关派生类而不是基类的类的信息是否安全?
它似乎有效,但我想这并不一定意味着它是安全的。例如,如果我有以下两个类:
public class Parent {
public Parent() {
System.out.println(getClass().getName());
}
}
和:
public class Derived extends Parent {
public Derived() {
super();
}
public static void main(String... args) {
new Derived();
}
}
当我main()
在 Derived 类中运行该方法时,它会打印:(Derived
这是我所希望的)。但是我可以在 JVM 中依赖这种行为吗?