har*_*ari 0 java classcastexception
我有 -
class A {
// contains certain set() and get() methods
}
class B extends A {
public A getAotherMethod() {
A a = new A();
// Contains some logic
return a
}
}
class C extends B {
// contains certain set() and get() methods
}
class D {
public Object getMethod() {
B b = new B();
// Contains some logic
return b.getAnotherMethod()
}
}
public static void main(String[] args) {
A a = new A();
B b = new B();
C c = new C();
D d = new D();
c = (C) d.getMethod(); // This is giving me ClassCastException
}
Run Code Online (Sandbox Code Playgroud)
d.getMethod();
Run Code Online (Sandbox Code Playgroud)
这将在内部调用b.getAnotherMethod(),具有
A a = new A();
// Contains some logic
return a
Run Code Online (Sandbox Code Playgroud)
A类的对象不能转换为C类
我们可以将子类对象分配给 超类引用,但是在这种情况下我们不能将超类对象分配给子类引用.
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |