java - 在上面两层的父类中调用子类方法?

标签 java

所以我有 3 节课。

公共(public) A 类{}

公共(public)类 B 扩展 A{}

公共(public)类 C 扩展 B{}

我已将 A 对象实例化为新的 C 对象。我试图从 C 调用一个方法,但它不起作用。我曾考虑过将 A 类抽象化,但 B 类和 C 类有不同的方法,因此如果我这样做,B 和 C 中就会有空方法。即使我将其抽象化,这些方法也必须在 B 中创建C 语言,因为我认为抽象就是这样工作的。

所以我的问题是,如果我将 C 方法实例化为 A 对象,如何调用它?

最佳答案

可以看看你的A对象是不是C:

A myobject = // get it ...

if (myobject instanceof C) 

然后转换:

C really_C= (C) myobject;

并使用C方法

关于java - 在上面两层的父类中调用子类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34254736/

相关文章:

java - 使用 Java 8 安装 Dynamic Code Evolution VM (DCE) 时出错

java - 从 Android 应用程序的 Google App Engine 后端按实体 ID 获取实体时出错

java - Spring Boot 1.5.8 中的内存泄漏

java - 如何使用 egit 插件在 Eclipse 中启用提交更改

java - 通过 Java 以编程方式导入(mysql)数据库转储

java - 无法读取Spring应用程序中的POST参数

java - 使用 lambda 返回 javax.inject.Provider 的新实例

java - 如何通过 ID 获取其他用户信息(用户名、名字)? [ key 斗篷]

java - ArrayList<CustomClass> 中的 JSON 对象始终覆盖前一个对象。怎么解决?

变量和方法的Java类继承