对象
对象是类的一个实例,有状态和行为。状态是对象中的数据,行为是对象中的操作。
接口
一系列方法签名的列表,但不具有方法体,不可实例化。
抽象类
具有0或若干个抽象方法(无方法体)的类,不可实例化。
具体类
不含抽象方法,所有方法均具有方法体,可实例化的类。
继承注意事项
声明为final的类不可被继承。
Java只允许单继承,不允许多继承。
重写(override)
条件即上述多态方法条件(m1和m2无序)。但一个方法被声明为final时,其不可被重写。
重载(overload)
当同一类中的两个方法名称相同而签名不满足重写条件时,则构成重载。
泛型
使方法或类可以工作在不同的类型下。
委托
一个对象依赖另一个对象或另一个对象的若干方法以完成自身的任务。
OOP的特性
封装性:
封装是指将描述每一个对象的属性以及其行为的程序代码组装到一起,一并封装在一个有机的实体中,把它们封装在一个“模块”中,也就是一个类中,为软件结构模块性提供良好的基础。在面向对象技术中,封装的最基本单位是对象,而使得软件结构实现“高内聚、低耦合”的“最佳状态”便是面向对象技术的封装性所要实现的最基本的目标。
继承性:
继承性是另外一个重要特点,其主要指的是两种或者两种以上的类之间的联系与区别。继承,顾名思义,是后者延续前者的某些方面的特点,而在面向对象技术则是指一个对象针对于另一个对象的某些独有的特点、能力进行复制或者延续。如果按照继承源进行划分,则可以分为单继承(一个对象仅仅从另外一个对象中继承其相应的特点)与多继承(一个对象可以同时从另外两个或者两个以上的对象中继承所需要的特点与能力,并且不会发生冲突等现象)。
多态性:
从宏观的角度来讲,多态性是指在面向对象技术中,当不同的多个对象同时接收到同一个完全相同的消息之后,所表现出来的动作是各不相同的,具有多种形态;从微观的角度来讲,多态性是指在一组对象的一个类中,面向对象技术可以使用相同的调用方式来对相同的函数名进行调用,即便这若干个具有相同函数名的函数所表示的函数是不同的。