java间接子类继承_java继承(extends),单继承简单介绍

之前给大家简单的讲述了一下java继承(extends)的简单知识,那么下面要接着给大家讲到的就是java的单继承,对于单继承你了解多少呢?

Java语言摒弃了C++当中非常难以去理解的多继承特征,也就是说,java不支持多继承,只允许一个类直接继承另一个类,也就是子类只可以有一个直接父类,extends关键字后面只可以有一个类名。

例:

下面的代码会导致编译错误:class Student extends Person,Person1,Person2{…}class Student extends Person,extends Person1,extends Person2{…}

通常,在介绍java单继承的时候,也许会说java类只可以有一个父类,其实,实际上来说,这样的说法存在着一些错误。

应该是一个类只能有一个直接父类,但是它可以有多个间接的父类。

例:

Student类继承Person类,Person类继承Person1类,Person1类继承Person2类,那么Person1和Person2类是Student类的间接父类。

下面就展示了单继承的关系:

6ee6016fc13a6ea390df1daf1a32ccd5.png

讲解:

三角形、四边形和五边形的直接父类是多边形类,它们的间接父类是图形类,图形类、多边形类和三角形、四边形、五边形类形成了一个继承的分支,在这个分支上,位于下层的子类会继承上层所有直接或间接父类的属性和方法。

假如,两个类不在同一个继承树分支上,就不会存在继承关系,例如多边形类和直线。

假如,定义一个Java类的时候,并没有显式指定这个类的直接父类,那么,这个类默认继承 java.lang.Object类。

所以的话,java.lang.Object类是所有类的父类,要么是其直接父类,要么是其间接父类,所以,所有的Java对象都能够调用java.lang.Object类所定义的实例方法。

其他:

使用继承的注意点:

子类一般比父类包含更多的属性和方法;

父类中的private成员在子类中是不可见的,所以在子类中不能直接使用它们;

父类和其子类间必须存在“是一个”即“is-a”的关系,否则不能用继承。

可是,并不是所有符合“is-a”关系的都应该用继承。

例:正方形是一个矩形,但不能让正方形类来继承矩形类,因为正方形不能从矩形扩展得到任何东西。

正确的继承关系是正方形类继承图形类;

Java只允许单一继承(即一个子类只能有一个直接父类),C++可以多重继承(即一个子类有多个直接父类);

继承优点:

feab6e4b74454b07eb148795d21c403b.png

继承的缺点:

930448c0ef35bca3c7424021f67174a9.png

对于java的单继承就给你简单的介绍到这里了,更多和java单继承相关的java基础知识,可以继续的通过关注奇Q工具网来进行了解哦。

推荐阅读:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值