Java学习笔记
1. final
a. 声明类:声明的类不能有子类
b. 声明方法:声明的方法不能被子类所覆写
c. 声明变量:声明的变量是常量,不能被修改(声明的常量必须大写,public static final声明的是全局常量)
2. 抽象类
a. 抽象类是至少有一个抽象方法的的类,抽象方法是只声明不实现的方法,声明抽象方法必须abstract关键字,声明抽象类必须用abstract关键字。
b. 抽象类不能直接实例化,想使用抽象类必须依靠子类,一个类继承了抽象类后必须实现其中的全部抽象方法。
c. 抽象类中允许有构造方法,但是此构造方法不能直接调用,是交给子类调用的,子类对象字实例化过程中永远首先调用父类的构造方法。
d. 实际抽象只是比普通类多抽象方法而已。
3. 接口
a. 接口是特殊的类,接口是由抽象方法和全局常量组成。定义接口用关键字interface。
b. 接口与抽象类一样要通过子类实现用implements关键字。
c. 一个类最多只能继承一个类但是可以实现多个接口,class A extends 抽象类B implements 接口C,接口D…{ }。
4. 对象的多态性
a. 方法的重载和方法的覆写是对象多态性的体现。
b. 对象的多态性体现在子类和父类的相互转换过程中。向上转型:父类 父类对象 = 子类的实例 –>自动完成 向下转型:子类 子类对象 = (子类)父类对象 –> 强制转型
c. 类型转换时:向下转型前用instanceof判断是否为同类型的。对象 instanceof 类 ——>返回boolean类型的数据。
5. 抽象类与接口的比较:
NO. |
比较 |
抽象类 |
接口 |
1 |
组成 |
抽象方法、普通方法、构造方法、常量、变量、全局常量 |
抽象方法、全局常量 |
2 |
定义 |
abstract |
interface |
3 |
子类 |
通过extends继承 |
通过implements实现接口 |
4 |
限制 |
一个类最多能继承一个抽象类 |
一个类可以同时实现多个接口 |
5 |
关系 |
一个抽象类可以实现多个接口 |
接口不能继承抽象类能实现多个接口 |
一个类可以包含多个接口 |
一个接口可以包含多个抽象类 |
||
6 |
设计模式 |
模板设计 |
厂类设计、代理设计 |
两个结合实现适配器设计 |
|||
7 |
实例化 |
通过对象的多态性,通过子类的实例化对对象操作 |
|
8 |
特性 |
- |
一个标准,一种能力 |