Java之继承自查

为什么要使用继承

继承是怎么是实现的

当子类继承父类之后,是可以通过子类对象访问父类当中的成员的

子类继承父类之后,必须要添加自己特有的成员,体现出与基类的不同,否则就没有必要继承了

要是父类与子类都定义了一个a,是用哪个a(用的是子类自己的a)

不重名的内存布局

重名的内存布局

super 可以认为时子类从父类继承过来的这块内存的标识

super 关键字只代表当前对象内部的那一块父类特征,不包含在子类对象中

不重名时,当子类继承父类以后,通过子类对象是可以访问父类当中的成员变量和成员方法的

不重名时,当子类继承父类以后,如何通过子类对象是可以访问父类当中的成员变量和成员方法的

重名时,如何访问父类的成员变量与成员方法

优先访问子类自己的,如果子类没有,就去找父类,父类有就是父类的,没有就报错了

super 关键字的作用

怎么调用父类的构造方法

this() 与 super() 的位置关系

this 和 super 引用对象只能在非静态方法(实例方法)中使用。

如果子类继承了父类,子类完成构造的时候(执行完子类的构造方法),要先帮助父类进行构造

 // 子类的构造方法
    public Dog(String name, int age, String breed) {
        super(name, age); // 调用父类的构造方法
        this.breed = breed;
        System.out.println("Dog 构造方法被调用");
    }

为什么如果子类继承了父类,子类完成构造的时候(执行完子类的构造方法),要先帮助父类进行构造

调用父类的构造方法放置的位置

当父类的构造方法是不带参数的构造方法且只有这一个的情况下,默认会添加一个super()

 上图代码输出为 BaseBase 

上述代码编译不通过 

快速创建上式构造方法的快捷键

子类的构造方法与父类的构造方法执行的顺序

为什么先执行基类的构造方法

父类的静态代码块、子类的静态代码块、父类的实例代码块、子类实例代码块、父类的构造代码块、子类的构造代码块的执行顺序

以上代码输出为YXYZ 

第二次执行的时候,静态的代码块不再被执行

protected 关键字

什么叫不同包中的子类

Derived 类继承自 Base 类,但它不能访问其他 Base 类子类(这里是C类)实例的 protected 成员

什么叫不同包中的非子类

字段指的是什么

Java支持几种继承方式

final 的作用

final修饰变量或字段表示什么

final修饰类表示什么

final修饰类时放的位置

组合是什么

组合怎么使用

什么时候用组合、什么时候用继承

https://www.hollischuang.com/archives/1319

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值