【问题标题】:Java classes that are either the exact same as another class, or is the same, but has added methods [closed]Java类与另一个类完全相同,或者相同,但添加了方法[关闭]
【发布时间】:2020-09-21 08:08:00
【问题描述】:

我是 Java 类的新手。

我这里有两个问题。

问题 1:我想创建一个名为“ClassA”的类,我希望它与 Vaadin 制作的名为“Component”的类相同。所以当我写

ClassA classA = new ClassA();

同理:

Component component = new Component();

这怎么可能?

问题 2:我想创建“ClassA”,我希望它与 Vaadin 类 'Component' 相同,但我也希望能够向这个“ClassA”添加自己的方法”。

希望你能帮忙。

【问题讨论】:

  • 是什么阻止你从类继承?
  • 从组件继承?还是来自 ClassA 或 ClassB?我希望每个文件都是单独的文件,我只写了两个示例/问题,因为我有这两个“想法”。对不起,如果它令人困惑。

标签: java class constructor vaadin


【解决方案1】:

您可以扩展类以使用它们的方法,并且仍然可以将您自己的方法添加到您的类中(除非扩展的类是最终的)。

class ClassA extends ClassB {
    // don't forget constructor
}

但在这种情况下,这将不起作用,因为 Component 似乎是一个接口。所以你可以只实现接口,但必须自己创建所有方法。

class ClassA implements Component {
    ...
}

这可能需要大量工作,因此请尝试找到 Component 的实现,然后您可以扩展该实现。

【讨论】:

  • 好的,所以第一件事有效。那非常容易。非常感谢!!!对于另一件事,您能否阐明尝试找到实现的意思:我应该在线查找还是在哪里查找?我认为组件类只是抽象的。
  • @LanDanois implements 用于实现接口而不是类或抽象类
  • 组件类中我需要的东西是能够说“View view = new Label();”例如。如果这是有道理的。我知道你可以在 Vaadin 中使用组件类。
  • @IQbrod 所以我还应该使用“扩展”吗?
  • @LanDanois 你真的需要学习关于继承的最基本教程之一。 This answer 可能是一个好的开始。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-18
  • 1970-01-01
  • 2016-02-08
  • 2018-04-28
  • 2020-04-30
  • 2013-11-28
相关资源
最近更新 更多