【问题标题】:New to Java(Inheritance): Declaration of a subclass in main programJava新手(继承):在主程序中声明子类
【发布时间】:2015-10-29 18:39:55
【问题描述】:

我在如何在我的主程序中声明子类时遇到了麻烦。

我有一个名为 Shapes 的抽象超类和 4 个子类(Rectangle、Triangle、Circle、Square);

我知道如果我想使用超类,我会创建一个新变量:

private Shapes shapes;

然后我将变量分配给超类:

shapes = new Shapes();

我认为你可以像这样声明一个子类:

private Shapes square;
//
square = new Square();//Square is a sub-class of Shapes.

请帮忙。

【问题讨论】:

  • 我完全不清楚你在问什么
  • 发帖MVCE
  • 让我们先从外观更改开始,直到我们了解您的问题,您可以将类重命名为 Shape 而不是 Shapes
  • 你用词的方式不符合它们的意思。也许你想先开始here
  • @singhakash 抱歉,我是新手,当您创建超类时,您可以创建该超类的子类,但我在如何在主程序上使用子类时遇到了麻烦。

标签: java inheritance


【解决方案1】:

您不是在上面声明类,而是在创建指针和实例化对象。您需要像这样实际使用 class 关键字:

public class Shape {
}

当你创建一个子类时,它会是

public class Square extends Shape {
}

例如,如果您在 main 中创建对象,它可能如下所示:

Shape s = new Square();

Square square = new Square();

但这只是你创建对象的方式,而不是类。

【讨论】:

    【解决方案2】:

    有两个方面。

    • 创建类层次结构

      public class Square extends Shape {
      }
      
    • 使基类指针或引用指向子类对象。

       Shape aSquare = new Square();
      

    【讨论】:

      猜你喜欢
      • 2016-07-20
      • 1970-01-01
      • 2014-04-19
      • 2011-02-14
      • 1970-01-01
      • 2014-06-17
      • 1970-01-01
      • 2010-09-15
      • 1970-01-01
      相关资源
      最近更新 更多