JAVA中的继承

一、继承的基本概念:

继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,子类同时也可以重新定义和追加方法。JAVA中支持多层继承和单继承,不支持多继承

继承的格式

public class 子类 extends 父类{  }

二、继承的特点:

1、子类可以有父类的内容。

2、子类也可以有自己特有的内容。

三、继承的优缺点:

优点:

1、提高了代码的复用性。(多个类的相同内容可以写在同于一个类中继承)

2、提高了代码的维护性。(如果方法中的代码需要修改时,只需要修改一次即可)

缺点:

继承让类与类之间发生了关系,类的耦合性增加了,当父类发生变化时,子类实现也会发生变化,削弱了子类的独特性。

四、什么时候使用继承?

当我们有两个类时,如果A类是B类的一种,或者说相反,就说明他们之间有继承关系。

例如:苹果和水果 动物和熊猫

五、继承中访问特点

1、变量访问特定

访问顺序是子类局部范围 > 子类的成员范围 > 父类成员范围

2、构造方法访问特点

子类中所有的构造方法默认会访问父类中的无参构造方法。原因是:子类会继承父类的数据,可能还会使用父类的数据,那么在子类初始化之前就要对父类完成初始化,每一个子类构造方法之前都有一条隐藏的super()语句,如果我们在父类中给出了带参构造方法的话,系统默认的无参构造方法就会消失,那么这里就会报错。

这里推荐每一次都要给出父类的默认构造方法和带参构造方法;

3、成员方法的访问特点

类比于成员变量

六、super关键字

回顾一下this关键字,this关键词的作用是结局局部变量隐藏成员变量的问题;

super是代表父类存储空间的标识符(可以理解为父类的对象引用)

super.变量;//访问父类的成员变量
super.成员方法;//访问父类的成员方法
super();//访问父类的构造方法

七、方法重写

继承中子类和父类出现了一样的方法声明;当子类需要父类的功能,而功能主体子类有自己特有内容是,可以重写父类功能,又定义了子类的特有功能

子类Phone

public class Phone {

    public void call(String name) {
        System.out.println("给" + name + "打电话");
    }
}

父类NewPhone

public class NewPhone extends Phone {
    @Override
    public void call(String name) {
        System.out.println("开启视频通话");
        super.call("李小龙");
    }
}

 @Override的作用是检测我们方法重写的正确性;

这里不难看出子类对call方法进行了方法重写,增加了自己特有功能,我们在使用方法重回时需要注意父类私有方法不能被重写,子类重写的方法访问权限不能比父类小。

 初学者个人见解,希望大家多多点评。感谢!

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值