Java学习笔记(七)

6.继承

它是多态的前提,如果没有继承就没有多态
父类:也叫基类或超类
子类: 也叫派生类

使用关键字extends

子类可以继承相应父类中中的属性

(1)格式
父类(普通类)

public class 父类名称{

}

子类

public class 子类格式 extends 父类名称{

}

(2)特点
1、子类拥有父类的内容
2、子类拥有自己专有的内容(父类只能用自己的东西,不能使用子类的)

(3)访问成员变量
直接通过子类访问成员变量:
等号左边是谁优先用谁的,没有就向上找

间接通过成员方法访问成员变量:
该方法属于谁,就先使用谁的,没有就向上找

如果想要使用本类的成员变量:
使用this.成员变量

如果想要使用父类的成员变量:
使用super.成员变量

在父子类的继承关系中,创建子类对象访问成员方法的规则:
创建的对象是谁,就优先用谁,如果没有就向上找

(4)重写方法
继承父类的方法
<1>概念
重写方法(父子类中,两个类)
在继承关系中,方法名一样,参数列表也一样的方法
@Override 注解,检测该方法是不是重写方法

重载方法(同类中)
方法名相同,参数列表不同

<2>注意事项:
1、方法重写必须要保证的是父子类之间方法的名称相同,参数列表也相同
2、子类方法的返回值必须 小于等于 父类的返回值范围
3、子类的访问权限必须 大于等于 父类的访问权限修饰符

<3>继承父类的方法
快捷键Alt+O
父类
 

public void call(){
    System.out.println("来电提醒");
    System.out.println("打电话");
    System.out.println("接电话");
}

子类

public void call(){
    super.call();//继承父类里的方法
}

子类可以根据自己的需求进行差异化定制
既沿袭了父类的功能名称,又根据子类的需求重新实现了父类方法,从而进行了功能的拓展

(5)super()
调用父类的构造方法
super();调用父类的构造方法,必须在子类构造的第一行调用(一个方法内只能调用一次)
子类无法继承父类的构造方法
构造方法只能被调用,不能被继承
会使用super()调用

super:
表示父类的存储空间标识,可以理解为父类的引用
this:
标识当前对象的引用

java中的继承是单一继承的
java中任何类都有父类
Object类是所有类的父类

(6)抽象类
抽象方法:
就是在一般方法的基础上加上abstract关键字,然后去掉大括号,加个分号

抽象类:
抽象方法所在的类,就是在class前面加上abstract关键字

抽象类代码
 

public abstract class Animals {
    //abstract抽象方法
    public abstract void eat();
}

注意:
1、抽象类不能new对象
2、使用抽象类必须要有一个子类继承它
3、子类必须要重写抽象方法

重写抽象方法:只要去掉abstract关键字,然后加上关键字

 父类抽象方法

public abstract void eat();

子类重写抽象方法

public void eat(){
    System.out.println("猫吃老鼠");

4、需要创建子类对象使用
抽象类可以继承抽象类
可以不重写抽象方法
抽象类里不一定有抽象方法
抽象方法一定要在抽象类里 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值