面向对象的特征
1、封装
2、继承
3、多态
封装:
封装是面向对象的特征之一,是对象和类概念的主要特性,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
封装的实现:
- 成员变量私有(private)
- 对外提供setter和getter方法(setXXX,getXXX)
继承:
面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
通过继承创建的新类称为“子类”或“派生类”。
被继承的类称为“基类”、“父类”或“超类”。
继承的过程,就是从一般到特殊的过程。
继承的特性:
- 子类拥有父类非private的属性和方法
- 子类可以拥有属于自己的属性和方法(对父类扩展);
- Java是单继承(每个子类只能继承一个父类);
- Java可以是多重继承(如A继承B,B继承C)。
super和this关键字
super关键字:我们可以通过super关键字来实现子类对父类成员的访问,引用当前实例对象的父类。
this关键字:指向实例对象自己的引用。
多态:
多态就是同一个接口,使用不同的实现,而执行不同的操作。
多态的必要条件:
- 继承
- 子类重写父类的同名方法
- 父类引用指向子类的对象
子类继承父类,重写父类的方法,当子类对象调用重写的方法时,调用的是子类的方法,而不是父类的方法,当想要调用父类中被重写的方法时,需使用关键字super