java | 继承

本文探讨了继承在面向对象编程中的关键作用,从代码复用、属性和方法的继承机制、构造器调用、单继承规则等方面展开,深入剖析了继承的本质和查找机制,以及合理使用继承的逻辑条件。

1.为什么需要继承 

代码冗余,面相对象思想中提出了继承的概念,专门用来进行共性抽取,实现代码复用。

2.继承细节

(1)子类继承了所有的属性和方法,但是私有属性不能在子类直接访问,要通过公共的方法去访问

public class ExtendsDetail {
    public int n1=100;
    private int n2=200;//私有的子类不能调用

    //父类提供一个公共的public 方法
    public int getN2(){
        return n2;
    }
}
class Sub extends ExtendsDetail{
    public Sub() {
    }
    public void sayOK(){
        System.out.println(n1);
       // System.out.println(n2);
        System.out.println(getN2());
    }
}

2.子类必须调用父类的构造器,完成父类的初始化

3.当创建子类对象时,不管使用子类哪个构造器,默认情况下总会调用父类的无参构造器,如果父类诶呦提供无参构造器,则必须在子类构造器中去指定使用父类哪个构造器完成对父类的初始化工作,否则,编译不会通过

4.调用父类构造器super(),super()在使用时放在第一行。super()和this()不能一起使用

5.java所有的类都是Object类的子类 

6.父类构造器的调用不限于直接父类!将一直往上追溯到Object类

7.子类最多只能继承一个父类,即java中是单继承

8.不能滥用继承,子类和父类之间必须满足is-a(是一个....)的逻辑关系

Person is a Music?//不合理

3.继承的本质分析

当子类对象创建好后,建立查找关系

 访问关系:先子类,再父类(子类没有就父类)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值