面向对象的三个基本特征:封装 . 继承 . 多态
封装(属性 . 对象)
- 把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象
继承
- 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法
- 一个新类可以从现有的类中派生,这个过程称为类继承,新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)
- 派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要
多态
- 多态性是指允许不同类的对象对同一消息作出响应
- 多态性语言具有灵活、抽象、行为共享、代码共享的优势
封装的意义
- 适当的封装可以让代码更容易理解和维护,也加强了代码的安全性。
包机制
- 为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间
包的作用
- 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用
- 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
- 包也提供了限定了访问权限的一个控制范围,拥有包访问权限的类才能访问某个包中的类
类的访问控制符
- default: 默认的(不提供访问控制符)仅可被同包的其他代码访问
- public:可以被任何代码访问
- protected:
- private: 私有的
继承的意义
继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,通过使用继承,我们能够非常方便的复用代码,大大提高开发效率
- 对象向上造型:
所谓的向上造型就是父类的引用指向子类的对象 - instanceof 运算符:
instanceof 运算符用来判断对象是否属于某个类的实例