我有三节课。
父母
package sample;
public class Parent {
}
儿童
package sample;
public class Child extends Parent {
}
孙子
package sample;
public class GrandChild extends Child {
}
然后运行以下代码:
package sample;
public class Main {
static Parent parent;
public static void main(String[] args) {
parent = new GrandChild();
GrandChild grandChild = getGrandChild();
GrandChild grandChild2 = getGrandChild();
System.out.println(grandChild == grandChild2);
}
private static GrandChild getGrandChild() {
return (GrandChild) parent;
}
}
是否可以在控制台中看到
false
?我总能看到真实的。 最佳答案
强制转换不会更改所指向的对象。
但是,您不应依赖代码中的==
运算符在两个对象之间进行比较(请改用equals()
)。
您是否需要某种特殊的原因?还是只是好奇?