JAVA中的继承extends

继续是面对对象的一个显著特征。

特点:

1.使用extends关键字来表示继承

2.继承关系相当于父与子,子继承了父,可以使用父类中定义的资源

3.只支持单继承,不能同时继承多个,相当于一个儿子只能有一个爸爸。但是可以允许一个父类被多个子类继承。相当于一个爸爸有多个儿子,

4.父类的私有资源是不能被子类进行使用的,但也是进行了继承。(私有资源子类不能看见和使用)

5.子类继承了父类,拥有父类的资源后可以随意进行更改使用,也可以添加任何资源。

定义父类:私有资源由于被private修饰,所以没有访问权限

 定义子类并且继承父类:

Super 与this 

在继承时,子类可能会出现与父类相同变量名称的元素。

当变量名相同时,进行调用可以使用this 与super 进行选择子类或者父类中的元素

super 指父类中的元素 成员变量

this    指当前类中的元素 成员变量

定义父类与子类相同变量名的元素

 在java中有个就近原则,当没有指定变量位置时,变量名又相同,则谁近就调用谁

构造函数:

构造函数的规格:public 类名(){}   构造函数语法要求,构造方法的名字必须是本类类名

子类继承了父类,子类在创建对象时,默认先调用父类的构造函数。

原因是子类在第一行默认存在一个super()。

构造函数存在三种形式:第一种无参,没有任何参数的

                                        第二种含参,有个别参数的

                                        第三种全参,即所有定义的变量都在

当子类继承父类时,构造函数是不能被继承的,因为语法要求,构造函数的的名字必须是本类类名,不能再子类种出现一个父类名字的构造方法。

且子类创建对象时,默认会调用父类的构造函数

重写Override

子类继承了父类种的方法,可以进行使用。当父类中的方法满足不了子类所需要的,子类就可以进行更改重写。父类中的私有方法是不能被重写的。但是子类可以定义与父类相同方法。

重写可以添加@Override进行判断是否正确重写。构造方法是不能被重写的。因为构造规则方法名必须与本类名一致。

重写的原则:两同 两小 一大
    * 两同:子类方法的 方法名与参数列表 和父类方法的相同
    * 一大:子类方法的 方法修饰符权限 >= 父类方法的
    * 两小:子类方法的返回值类型 <= 父类方法的返回值类型
    * 注意:这里所说的<=是指子类方法的返回值类型是父类返回值类型的子类
    * 或者与父类的返回值类型一致,如果父类方法的返回值类型是void,子类保持一致即可
 

猜你喜欢

转载自blog.csdn.net/Java_Mr_Jin/article/details/121523205