Java基础:面向对象—继承性与重写

继承

继承是子类继承父类的特征和行为,使子类对象具有父类对象的特征、行为

*Java中的继承为is-a关系(is-a:在继承的关系中,子类就是一个特殊的父类,也就是说,子类可以被当做父类看待)

*Java中的继承是单继承:一个类的直接父类只能与唯一的一个父类(儿子只有一个爸爸)

格式:

[修饰符] class 父类名{
    //…
}

[修饰符] class 子类名 extends 父类名{
    //…
}

父类子类访问成员变量的规则

1.子类可以调用父类的非私有方法和变量

2.当父类子类成员变量同名:
    1.直接访问:对象属于哪个类,就优先用谁;如果子类没有,就使用父类
    2.间接访问:调用的方法属于哪个类,就优先用谁,子类没有再使用父类

*注意:无论是成员方法还是成员变量,如果没有都是向上找子类,从来不会向下找子类

 

*有关避免三种变量(局部变量、成员变量、父类成员变量)重名产生的问题

局部变量:变量名

成员变量:this.变量名

父类成员变量:super.变量名

方法的重写

在继承关系中,方法名、参数列表与参数名完全一致。重写也叫作覆写、覆盖

*Java子类重写父类时不需要加override关键字!(C#需要)

检验子类方法是否重写了父类方法:在子类方法上一行输入@Override

public class MyThread extends Thread{
    @Override
    public void run(){

    }
}

 

*注意:

1.子类方法的返回值范围必须<=父类方法的返回值范围

2.子类方法的修饰符范围必须>=父类方法的修饰符范围

(public>protected>(default)>private)

猜你喜欢

转载自blog.csdn.net/Marshallren/article/details/105864222
今日推荐