Java-通过对象数组调用扩展类中的函数

杰克

我有一个对象数组,其中一些对象使用扩展版本,该扩展版本包含基类中不提供的功能。当基类定义数组时,如何通过数组调用该函数?

例子

Shape[] shapes = new Shape[10];

shapes[0] = new Circle(10) //10 == radius, only exists in circle class which extends Shape

shapes[0].getRadius(); //Gives me a compilation error as getRadius() doesn't exist in the      
Shape class, only in the extended Circle class. Is there a way around this?
朱尼德·阿桑

Shape类不包含方法getRadius,因此如果不将对象转换ShapeCircle,则该方法将不可见。因此,您应该使用以下代码:

((Circle)shapes[0]).getRadius();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

基类构造函数在Java中调用重写方法时派生类对象的状态

通过JS中的函数引用对Java对象的Nashorn调用方法(通过绑定)

在Java中,如何通过对象的构造函数将对象添加到数组?

带参数中的类的Java调用函数

在超类中创建Java调用函数

从java / kotlin中的父抽象类数组调用子类函数

在Java中创建数组时是否调用了对象构造函数?

我如何从javascript函数调用Java类对象?(不带ajax)

扩展Java类的Scala对象

通过 Java 中的扩展链向下调用方法

从Java中的派生类调用基类构造函数

无法从 Kotlin 类中的 Java 类调用公共函数

Java:从扩展它的通用列表中调用接口的函数

Java从传入的对象中设置超级扩展类

如何从Java中的扩展类初始化对象

是否可以在Java中扩展没有构造函数的类?

从Java中的不同类调用主类中的函数

调用Java中的类?

Android通过其他类java.lang.InstantiationException中的线程调用函数:无法实例化类……没有空的构造函数

Java:使用动作侦听器在该类的对象的另一个类中调用函数

通过Java类在活动中实现的调用接口方法

如何通过 Java 中的 Intent 调用 Kotlin 格式的类?

如何使用Java 8中的流API通过同一类的不同对象填充数组列表?

在Java中的类方法中访问对象数组

在包含对象类的当前实例中调用Java方法

Java:从超类构造函数中的子类调用的方法

从Java中的子类构造函数调用超类

防止从Java类中调用私有构造函数

构造函数和抽象类中的java调用方法?