JAVA中的继承extends

本文深入探讨了Java中的面向对象特性,包括使用extends实现继承,子类如何访问和使用父类资源。重点讲解了单继承特性、构造函数的调用顺序以及super和this的区别。此外,还详细阐述了方法重写的原则,如两同两小一大,并强调了构造函数和私有方法不可重写。通过实例解析,帮助开发者更好地理解和应用Java的继承和重写机制。
摘要由CSDN通过智能技术生成

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

特点:

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

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

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

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

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

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

 定义子类并且继承父类:

Super 与this 

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

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

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

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

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

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

构造函数:

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

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

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

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

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

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

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

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

重写Override

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值