是否可以在父级中访问子类?
即G。我希望以下代码的输出为"红色蓝色"。
class Color {
public final void printName() {
System.out.println(__Something_Here!!!__.class.getSimpleName());
}
}
class Red extends Color;
class Blue extends Color;
main() {
Red red = new red();
Blue blue = new blue();
red.printName();
blue.printName();
}
答案 0 :(得分:1)
写
class Color {
public final void printName() {
System.out.println(this.getClass().getSimpleName());
}
}
getClass()方法的每个Java对象都可以访问所有类信息。
答案 1 :(得分:1)
您可以使用getClass()
返回任何对象的类对象。
public final void printName() {
System.out.println(getClass().getSimpleName());
}
有关详细信息,请参阅Javadoc getClass()
答案 2 :(得分:0)
如果您将printName()
设为私有,则不会。如果它受到保护,那么您可以致电
Red red = new Red();
Blue blue = new Blue();
red.printName();
blue.printName();
然后致电
System.out.println(this.class.getSimpleName());
实际上,私人禁止Red
和Blue
继承此方法。