Java中的继承

Java中的继承、多态

封装:属性私有 get/set访问方法

继承 单继承:一个类只能有一个直接父类

访问修饰符 访问范围 继承性

private 本类内部 不可继承

(default) 本类+同包 同包子类可以继承

public 公开 可以继承

protected 本类+同包+子类 可以继承

构造方法:不可继承

组合/聚合复用原则 对于违反里氏代换原则的两个类,由于不存在is a关系,所以不能定义继承,可以用组合的方式实现类的代码复用

方法覆盖Override:子类用特殊的方法实现,替换掉父类继承给它的方法实现

语法:方法名相同,参数表相同,返回值类型相同,访问修饰符相同或更宽

对象的创建过程:

​ 1)分配空间

​ 2)构造父类对象

​ 3)初始化本类属性

​ 4)调用本类构造方法

​ A—B---C

​ 1)分配空间

​ 2)初始化A属性

​ 3)调用A构造方法

​ 4)初始化B属性

​ 5)调用B构造方法

​ 6)初始化C属性

​ 7)调用C构造方法

super

用在构造方法中,指明调用父类哪个构造方法,必须出现在构造方法的第一行

如果一个构造方法的第一行不是super(…) 也不是this(…) 默认代码为super();

super . 引用 指向父类对象

​ 用于访问父类被覆盖的属性

​ 用于调用父类被覆盖的方法

多态 子类对象可以赋值给父类引用

​ 1)只能对引用调用其引用类型中声明的方法

​ 2)运行时,根据对象实际类型,调用子类覆盖之后的方法

​ 3)对象类型不变,强制类型转换,用于父类引用赋值给子类引用,无法改变对象类型

​ 引用 instanceof 类名 判断引用中的对象是不是 类名 用在强制类型转换之前,避免类型转换异常

多态的作用:把不同子类的对象,统一看做是父类对象来处理,屏蔽了不同子类的差异 使得代码有更好的通用性。

多态用在参数上 m(A a) : m方法允许A类或A的某个子类对象

多态用在返回值上:A m():m方法返回的是A类或A的某个子类对象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值