A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1、继承
描述的是事物之间的所属关系

好处:
        提高代码的复用性,让类与类之间产生关系,是多态的前提

特点:java中类只支持单继承不支持多层继承


2、子父类间成员变量的使用

一 类的组成
        构造方法
        成员变量
        成员方法

二 通过子类访问一个成员变量的时候查找规则是怎样的
        A:首先在子类的局部位置找 有就用
        B:在子类的成员位置找 有就用
        C:在父类的成员位置找
        D:父类成员位置没有就报错

        子类访问不到父类的局部变量.


3、子父类间成员方法的注意事项

一 子父类间的成员方法需要注意的地方
A:父类中的私有方法不能被重写
B:子类方法的访问权限修饰符要大于等于父类的访问权限修饰符
C:静态的方法只能重写静态方法

二 什么时候考虑使用重写
当子类需要父类的功能,而子类又有自己特有的方法时,可以重写父类的方法
这样既可以使用父类的功能又可以定义子类特有的内容.


4、子父类间构造方法的执行顺序

一 为什么父类的构造会在子类之前执行?
A:因为子类的构造方法中第一行会默认有一个super()会调用父类的无参构造.

B:因为可以用子类对象调用父类中的非私有成员,那么必然要对父类进行初始化

注意:如果在构造方法中手动给出 this() 或 super()的话这两个代码一定是第一行有效代码.

二 如果父类中没有无参的构造方法,那么,子类的super()就调用不到父类的构造了肿么办?
可以在子类中手动给出 super(参数)来访问父类的带参构造

一个类的构造方法第一行一定有个super(),假如说这个类没有继承的话,那么super()访问的是谁呢?
访问的是Object类中的构造方法.


5、子类如何使用父类的私有成员变量
一 如果成员变量被私有了,那么,在子类中怎么使用呢?
子类不能直接去使用父类的私有成员
如果子类想要访问父类私有成员的话 只能通过get和set方法或者 用父类的带参构造赋值


6、final关键字的概述和使用
final 可以修饰谁?
类:不能被继承
成员变量:就变成了一个常量
成员方法:不可以被重写


7、一个完整的有子父关系的内存图


8、继承中的构造方法
        子类无参构造方法,不可以访问父类有参构造方法,只能访问父类无参构造方法
        子类有参构造方法,可以访问父类有参构造方法,也可以访问父类无参构造方法

为什么默认有构造方法?
        因为子类会自动具备父类中非私有数据,那么,这个数据的初始化
        靠父类完成。所以,会去先调用父类的构造方法对数据进行初始化。

如果父类中没有无参构造方法,那么,该怎么办呢?
        A:可以通过super(参数)去访问父类中的带参构造方法。
        B:可以通过this(参数...)去访问本类中的其他构造方法。不推荐使用。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马