继承

JAVA中只支持单继承,即每个类只能有一个直接父类
调用父类方法,必须写在第一句
//extends
//继承父类所有的属性和方法(private除外)
//子类的构造方法会调用父类的构造方法
//如果没有明显调用则调用默认空构造方法
//class类 {private 属性
public get/set
空构造
带参构造
方法

不能被继承的父类成员:
1:private成员
2:子类与父类不在同包,使用迷人访问权限的成员
3:构造方法
继承表达的是 XX is a XX的关系,或者说是一种特殊和一般的关系
7.11继承的基本概念
在JAVA中,继承通过extends关键字实现,其中SubClass称为子类,SuperClass称为父类或者基类
访问修饰符如果是public,name该类在整个项目中可见
如不写访问修饰符,则该类只在当前包中可见

在JAVA中,子类可以从父类中继承以下内容:
1.可以继承public和protected修饰的属性和方法,不论子类和父类是否在同一个包里
2:可以继承默认访问修饰符修饰的属性和方法,但是子类和父类不许再同意和包里
3:无法继承父类的构造方法

7.21使用继承和重写实现部门类及子类
1.super只能出现在子类(子类的方法和构造方法)中,而不是其他位置
2.super用于访问父类的成员 如父类的属性,方法,构造方法
3.具有访问权限的限制,如无法通过索尔访问父类的private成员

子类继承父类时构造方法的调用规则:
1:如果子类的构造方法中没有通过super显式调用父类的有参构造方法,也没有通过this显式调用自身的其他构造方法,则系统会迷人先调用父类的无参构造方法,在这种情况下,是否写“super();”语句,效果都是一样
2:如果子类的构造方法中通过super显式地调用了父类的有参构造方法,name将执行父类相应的构造方法,而不执行父类无参构造方法
3:如果子类的构造方法中通过this显式地调用了自身的其他构造方法,在相应构 造方法中遵循以上两条规则

特别注意:如果存在多级继承关系,在创建一个子类对象是,以上规则会多次向更改及以及父类传递,一致到执行顶级父类Object类的无参构造方法为止

在子类中可以根据需求对从父类继承的方法进行重新编写,这称为方法的重写过或方法的覆盖(Overriding)。

方法重写必须满足以下要求:
1:重写方法和被重写方法必须具有相同的方法名
2:重写方法和被重写方法必须具有相同的参数列表
3:重写方法的返回值类型必须和被重写方法的返回值类型相同
4:重写方法不能缩小被重写方法的访问

重载(Overloading)和重写(Overriding)有什么区别和练习?
1:重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同于返回值类 型无关
2:重写涉及的是子类和父类之间的同名方法,要求方法名相同,参数列表相同, 返回值类型相同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值