【发布时间】:2019-04-02 17:39:17
【问题描述】:
我有扩展 A 的类 B。我声明 A 的对象并将其初始化为 B。我想调用不在超类中的方法。
有简单的方法吗? 还是我每次都需要施法?
A 类 // 无权访问它。
Class B extends A {
methodNotInClassA();
}
我知道这行得通:
Class C {
A obj;
method{
obj = new B();
((B)obj).methodNotInClassA();
}
}
但是有更简单更好的东西存在吗?
【问题讨论】:
-
不,你必须每次都投射。
-
但是如果我有很多方法需要调用怎么办。我可以创建扩展 A 类的 D 类,然后 B 类实现 D。并使用 D 类声明对象吗?
-
将
obj声明为B类更容易。所以:B obj = new B();
标签: java extends superclass