面向对象的三个特征
一、封装
封装就是信息隐蔽。它是指在确定系统的某一部分内容时,应考虑到其它部分的信息及联系都在这一部分的内部进行,外部各部分之间的信息联系应尽可能的少。
1、把尽可能多的东西藏起来,对外提高简洁的接口
2、把所有属性藏起来
二、继承
继承:让某个类型的对象获得另一个类型的对象的属性和方法。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
继承了哪些东西呢?这要分两种情况
- 当A和B在同一包下,A继承了B中public、protected和默认访问级别的成员变量和成员方法
- 当A和B不在同一包下,A继承了B中public、protected成员变量和成员方法
同时继承还有对父类的增强
- 重写父类方法
- 重载父类方法
重载方法必须满足以下条件:
- 方法名相同
- 方法的参数类型、个数、顺序至少有一项不同
- 方法的返回类型可以不同
- 方法的修饰符可以不相同
三、多态
多态:对于同一个行为,不同的子类对象具有不同的表现形式。
多态存在的3个条件:
- 继承
- 重写父类
- 父类引用指向子类对象。
理解多态
在这个运行环境中,引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定。Java虚拟机会根据引用变量指向的对象来调用该对象的指定方法,这种运行机制被称为动态绑定
确定。Java虚拟机会根据引用变量指向的对象来调用该对象的指定方法,这种运行机制被称为动态绑定