封装和继承

Posted on 2019-05-31 08:18  喝茶旅程  阅读(52)  评论(0编辑  收藏  举报

封装

顾名思义,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过 外部接口,一特定的访问权限来使用类的成员。 


继承:

类和类之间的关系class child extends Parent extends关键字实现类的继承

单根性:一个类只能存在一个父类
 在Java中的继承:子类可以继承父类的任何非私有成员(变量 方法 构造) 子类永远比父类拥有更多的成员 子>父
提升代码的复用性
减少代码的冗余

Object:任意一个类都直接或间接继承Object 在MyEclipse中查看继承架构图的快捷键为ctrl+T ctrl+O 查看类中的所有成员
native:不是由java实现的,而是由C语言实现的
final:常量 类(代表该类不能被继承) 方法(该方法不能被子类重写)
方法重写:子类继承了父类的方法后,要对父类的方法进行改写 要求除了方法体之外,其他的必须一致(就进原则)
super:超类 super代表父类的对象

方法的覆盖(重写)

 

 重写的要求:子类覆盖方法和父类被覆盖方法的方法返回类型,方法名称,参数列表必须相同

子类覆盖方法的访问权限必须大于等于父类的方法的访问权限

方法覆盖只能存在于子类和父类之间

子类覆盖方法不能比父类被覆盖方法抛出更多异常

方法重写与方法重载之间的关系:重载发生在同一个类内部的两个或多个方法。重写发生在父类与子类之间。 

关于继承的几点注意:

1) 父类有的,子类也有 

2) 父类没有的,子类可以增加 

3) 父类有的,子类可以改变 

4) 构造方法不能被继承 

5) 方法和属性可以被继承 

6) 子类的构造方法隐式地调用父类的不带参数的构造方法 

7) 当父类没有不带参数的构造方法时,子类需要使用super来显

式地调用父类的构造方法,super指的是对父类的引用 

8) super关键字必须是构造方法中的第一行语句。

类型转换:

向上转型: 子类向父类转换 自动
向下转型: 父类向子类转换 强制 ClassCastException instanceof (在调用子类特有的成员时)
子类可以再任何时刻替代父类: is a关系