一、javaSE (八)类的继承、方法重写

1:Math类的学习,通过api学习Math类

                   A:针对数学进行操作的类

                   B:没有构造方法,因为它的成员都是静态的

                   C:产生随机数

2:代码块(理解)

         (1)用{}括起来的代码

         (2)分类:

                   A:局部代码块

                   B:构造代码块

                   C:静态代码块

         (3)执行顺序:静态代码块>构造代码块>构造方法

3:继承(掌握)

         (1)把多个类中相同的成员给提取出来定义到一个独立的类中,然后让这多个类个该独立的类产生一个关系,

                   这多个类就具备了这些内容。这个关系叫继承

         (2)

                   A:用关键字extends表示继承

                   B:格式

                            class 子类名 extends 父类名{}

         (3)继承的好处:

                   A:提高了代码的复用性

                   B:提高了代码的维护性

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

         (4)继承的弊端:

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

                            原则:低耦合,高内聚

                            耦合:类与类的关系

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

                   B:打破了封装

         (5)java中继承的特点

                   A:java中类只支持单继承

                   B:java中可以多层(重)继承(继承体系)

         (6)继承的注意事项:

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

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

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

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

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

                   B:采用假设法

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

                   A:成员变量

                            a:子类的成员变量名称和父类中的成员变量名称不一样

                            b:子类的成员变量名称和父类中的成员变量名称一样,

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

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

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

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

                                               找不到,就报错

                   B:构造方法

                            a:子类的构造方法默认会调用父类的无参构造方法

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

                            b:父类中如果没有无参构造方法

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

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

                   C:成员方法

                            a:子类的成员方法和父类中的方法名不一样。

                            b:之类的成员方法和父类中的成员方法名称一样

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

                                               在子类中找,有就使用

                                               在父类中找,有就使用

                                               找不到,就报错

原文地址:https://www.cnblogs.com/zhangchengbing/p/8275827.html