解释延伸

时间:2012-12-25 15:09:04

标签: java oop extends

所以我今年冬天参加了我的编程考试,其中一项任务是解释扩展的内容,而不使用编程示例。

现在我知道它是什么但是我发现很难用语言解释你会如何解释它?就像你扩展意味着你是这个类的一部分,并且可以向类添加额外的信息,只有你的对象才能看到,即Plane 扩展 Vehicle但是有自己的称为起飞的方法允许它飞行。

你们如何解释extends

2 个答案:

答案 0 :(得分:3)

Java中的extends关键字有多个角色,它取决于您extends的内容。如果C是您希望扩展的实体。

  • 如果C为非abstract类并且为final,则无法对其进行扩展;

  • 如果C是非最终的非抽象类:

    • 你可以扩展它以便添加构造函数;
    • 您可以覆盖C未声明为final的任何方法;
    • 您可以定义其他实例变量,方法等。
  • 如果C是一个抽象类,并且你提供了一个具体的(即非抽象的)实现:

    • 必须提供构造函数,这些构造函数调用这个抽象类'构造函数 - 所有这些;
    • 必须提供在扩展类中声明为abstract的方法的实现;
    • 可能覆盖此类的方法的实现,而不是abstract;
    • 不能覆盖此类中声明为final的方法的实现;
    • 可以添加额外的构造函数,实例变量等;
  • 如果C是界面:

    • 你只能声明interface扩展另一个;你不能实现扩展接口的类(即implements)。

而且,更一般地说,您可以实现多个接口,但只扩展一个类/抽象类(Java没有多重继承)。

答案肯定要编辑,随时添加评论/问题等等

答案 1 :(得分:1)

你可以找到你周围的例子...... 例如:动物和不同种类的动物 车辆,具有一些共同属性和一些特定属性的不同车辆。 具有常见属性的形状,如面积,周长等,其中不同的形状以不同方式计算这些函数。