在完全不同的类中构造子类对象

编码器

所以可以说我有以下代码。

public class ImageMaker {

  // Variables
  static ArrayList<Shape> shapes = new ArrayList<Shape>();//all the shapes contained in the image

  public static void main (String[] args) {
    shapes.add(new Rect());  //here i want to add an object Rect
  }
}

并显示在另一个名为Shape的类中,如下所示。现在,我想将Rect类型的对象添加到我的形状数组列表中,但是我不能,因为它说Rect无法解析为类型。我该如何执行呢?当然,我有更多的实例变量和方法,但没有显示。让我知道您是否需要更多信息来回答。谢谢!

public class Shape {
  public class Rect extends Shape {

  //rect instance variables

  public Rect(){
    super();
    System.out.print("Youve made a rect within shape");
  }
}
伊戈尔

正如@tsnorri在评论中提到的那样,您只需要声明一个Rect即可Shape

public class Shape {

}

public class Rect extends Shape {
    //rect instance variables
    public Rect(){
        super();
        System.out.print("Youve made a rect within shape");
    }
}

如果您想了解有关Java中嵌套类的更多信息,这是一个很好的起点:http : //docs.oracle.com/javase/tutorial/java/javaOO/nested.html

编辑(工作示例)

通常,我建议您阅读一些有关OO编程和JAVA的基础知识。

这是将Shape都添加Rect到的工作示例ArrayList

import java.util.ArrayList;

class ImageMaker
{
    static ArrayList<Shape> shapes = new ArrayList<Shape>();//all the shapes contained in the image

    public static void main(String args[])
    {
        shapes.add(new Shape());
        shapes.add(new Rect());
    }

    public static class Shape {
        System.out.print("Created new Shape");
    }

    public static class Rect extends Shape {
        //rect instance variables
        public Rect(){
            super();
            System.out.print("You've made a rect within shape");
        }
    }
}

干杯

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Swift中的阴影与Sketch中的阴影完全不同

超类类型对象的子类的构造方法?

RSS Feed与浏览器中的显示完全不同

通用应用中iPad的UI完全不同

语言检测中的测试集与训练集完全不同

Pytesseract的输出与图像中的文本完全不同

我想要TS中完全不变的对象

有没有办法知道超类构造函数中调用对象的子类?C ++

如果不在子类中创建子类对象,为什么父类必须具有默认构造函数?

在 Objective-C 中,为什么编译器会关心两个完全不同的视图控制器类中的同名变量?

使用两个完全不同的类作为一个

当强制类型转换为完全不同的类时,static_cast的行为如何?

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

如何让子类中的构造函数继承构造函数或基类?

echo和(var_dump或print_r)在laravel对象上显示完全不同的事物

RestKit对象映射将ID映射为完全不同的负数

基于ng-repeat中不同值的完全不同的dom结构

为MySql生成完全不同的UUID

从 Firebase 检索完全不同的密钥

完全不同的手机视图

ResolveMethod()返回完全不同的方法

回声以完全不同的方式工作

以完全不同的格式混合数据

Unity PC版与Android完全不同

Mapbox 相机去到完全不同的位置

如何从具体子类中的重写方法访问通过抽象类中的构造函数实例化的对象的属性?

从Java中的类对象构造类实例

为什么要在类的构造函数中初始化子类,类的子类类必须是静态的?

1条语句mysql中2个完全不同的查询