super、继承

一、super的作用

1.第一种用途

  • 在构造方法中显示的调用super,来初始化父类的对象;
  • 如果没有super则使用默认的super();
  • 默认的super()将会自动调用父类的无参构造方法。

2.第二种用途

  • 如果父类和子类有同名的成员,那么子类会默认访问属于自己的成员;
  • 显示的调用父类中的成员;
  • 父类中的成员修饰private时,子类不能直接访问父类中的方法,但是可以在公有的方法;
  • 里面去调用私有的方法。

二、super的特点

1.super只能在构造方法中使用;
2.super必须放在子类构造方法中的第一句,仅且调用一次;
3.static当中不能有super,即static生命周期来看;
4.若父类的对象无法创建,那么子类也无法实例化。

三、为什么会有继承

答:如果没有继承的话,有些代码就会存在冗余,不便于程序的维护和扩充新类,
    这从实际的开发角度上来看,这种实现肯定是不好的。

四、关于extends关键字

称为扩展,子类扩展一个类,子类有时候也称为派生类

五、父类与子类的关系

1.子类可以有自己定义的操作
2.也可以从父类中继承过来的操作

六、 继承的限制

 1.Java只允许单继承,不允许多重继承,即一个子类只能继承一个父类
 2.但是Java允许多层继承,即一个子类有一个父类,一个父类还可以有一个父类

七、继承的访问限制

 1.在继承当中应注意的是, 子类不能直接访问父类中的私有成员,   但是可以间接地通过调用父类中的非私有成员来访问

八、继承中,子类实例化对象过程

 1.在继承操作中,子类在实例化对象之前会首先调用父类中的无参构造方法,然后再调用子类自己的构造方法;
 2.此时,在子类的构造方法中,隐藏了一个super关键字,有时父类也称为超类;
 3.子类对象的实例化过程:先调用父类的构造方法,再调用子类的自己构造方法。

九、私有化继承

私有化中的方法可以被继承,但是看不见。当父类中的成员被修饰为private时,子类不能直接去访问父类的方法,但是可以间接地去访问父类中公有方法中的私有方法

十、继承的作用

  • 解决了代码的重用问题
  • 实现了递增式的程序设计
  • 继承能够在某些比较一般的类的基础上建造、建立和扩充新类
  • 能减少代码和数据的冗余度,并通过增强一致性来减少模块间的接口和界面,
  •   从而增强了对象的可维护性
  • 能清晰地体现出类与类之间的层次结构关系

十一、继承的注意事项

1.继承是单方向,即子类可以访问父类中的成员,反之不行
2.继承只能是单一继承方式,且一个子类只能继承一个父类
3.一个子类只能继承一个父类,但是允许进行多层继承
★如果一个类没有使用extends关键字继承任何类,那么这个类一定继承java.lang.Object
  在Java中,任何类追溯至最上层父类,一定是java.lang.Object

十二、继承总结

1.继承的主要目的:扩展类的功能
2.Java中一个子类只能继承一个父类
3.Java中不允许多重继承,但是允许多层继承

十三、类中个部分初始化顺序

1.静态

  • 按照顺序被初始化(属性、方法、块)

2.普通

  • 顺序被初始化
  • 构造方法

3.继承关系的类当中

静态成员

  •    最顶层父类的静态成员被初始化,然后才是子类的静态方法被初始化静态成员

非静态成员

  • 先初始化父类的成员,最后初始化构造方法
  • 初始化子类的成员,最后初始化子类的构造方法

十四、实例要求

定义一个整型数组类,要求包含构造方法,增加数据及输出数据成员方法,利用数组实现动态内存分配。在此基础上定义出以下子类:
1.A、 排序类    ---->    实现排序
2.B、 反转类    ---->    实现数据反向存放

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GentleDevin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值