08 Java面向对象之继承
Posted gavin520
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了08 Java面向对象之继承相关的知识,希望对你有一定的参考价值。
08 Java面向对象之继承
① 对象与对象之间的关系
- 关联关系:最弱的一种关系(学生类中包含了老师)
- 继承关系:比较强的一种关系,is-a,你能够用:什么是什么说通
- 聚合关系:比较强的关系,聚集和组合,什么是什么的一部分
- 实现关系:子类要去实现父接口
② 继承的语法实现
class Animal{ } class rabbit extends Animal{ // rabbit称为子类,Animal称为父类 }
③ 继承的特性
- 子类继承父类,子类可以拥有父类的所有属性(非私有的属性)和(非私有的)方法;
- 子类可以拥有自己的属性和方法,对父类进行了扩展;
- 子类也可以实现父类的方法;
- java的继承是单继承,一个只能有一个父类(extends)。
注意:继承中,new 创建子类对象的时候是先创建父类对象,先取父类的属性进入内存待下一步使用
缺点:提供了类与类之间耦合,代码之间联系非常紧密,代码独立性比较差,以后修改或替换不容易
④ object类
- object类是所有java类的根基类,如果在类中没有extends显示的去继承类,默认就继承object类。
- 创建的任何一个对象都可以使用object提供的方法。
- java为什么要设计每个类都继承object类?(因为object类提供了所有类公用的各种方法。)
⑤ super关键字
在java类中,使用super关键字来表示引用父类的属性和方法,或者调用父类的构造器
this表示当前对象,super表示父类对象
1. super.属性、super.方法() 表示调用父类的属性和方法
2. super(参数)
⑥ toString方法
- 父类的toString方法就将内存地址转化为类名+hashcode码
- 重写toString 优先调用子类的toString
- java默认规定,如果你输出的对象的变量,默认调用toString,将内存地址转化为字符串输出
- java输出内容的时候,输出的:变量.属性、变量.行为,默认不会执行toString
以上是关于08 Java面向对象之继承的主要内容,如果未能解决你的问题,请参考以下文章