您的位置:首页 > 编程语言 > Java开发

Java中继承 extends

2015-12-21 19:34 405 查看

继承

(1) 把多个类中相同的成员给提取出来定义到一个独立的类中。然后让这多个类和该独立 的类产生一个关系,这多个类就具备了这些内容。这个关系叫继承。

**(2)**Java中继承用关键字extends表示

格式:class 子类名 extends 父类名 {}

*(3)继承的好处:*

A:提高了代码的复用性

B:提高了代码的维护性

C:让类与类产生了一个关系,是多态的前提

*(4)继承的弊端:*

A:让类的耦合性增强。这样某个类的改变,就会影响其他和该类相关的类。

原则:低耦合,高内聚。

耦合:类与类的关系

内聚:自己完成某件事情的能力

B:打破了封装性

**(5)**Java中继承的特点

Java中类只支持单继承,但支持多层继承(A extends B C extends A)

(6)继承的注意事项:

A:子类不能继承父类的私有成员

B:子类不能继承父类的构造方法,但是可以通过super去访问

C:不要为了部分功能而去继承

(7)什么时候使用继承呢?

A:继承体现的是:is a的关系。

B:采用假设法

(8)Java继承中的成员关系

A:成员变量

a:子类的成员变量名称和父类中的成员变量名称不一样,这个太简单

b:子类的成员变量名称和父类中的成员变量名称一样,这个怎么访问呢?

子类的方法访问变量的查找顺序:

在子类方法的局部范围找,有就使用。

在子类的成员范围找,有就使用。

在父类的成员范围找,有就使用。

找不到,就报错。

B:构造方法

a:子类的构造方法默认会去访问父类的无参构造方法

是为了子类访问父类数据的初始化

b:父类中如果没有无参构造方法,怎么办?

子类通过super去明确调用带参构造

子类通过this调用本身的其他构造,但是一定会有一个去访问了父类的构造

让父类提供无参构造

C:成员方法

a:子类的成员方法和父类中的成员方法名称不一样,这个太简单

b:子类的成员方法和父类中的成员方法名称一样,这个怎么访问呢?

通过子类对象访问一个方法的查找顺序:

在子类中找,有就使用

在父类中找,有就使用

找不到,就报错

Override:方法重写,是在子类中出现和父类中一模一样的方法声明的现象

Overload:方法重载,是在同一个类中,出现方法名相同,参数列表不同(嫩改变返回值类型)

this:代表当前对象引用

super:代表父类存储空间的标识,通过它可以访问父类的成员

A:子类不能继承父类的私有成员

B:子类不能继承父类的构造方法,但是可以通过super去访问

C:不要为了部分功能而去继承

(学习刘意教学视频总结)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 继承