目录
一、抽象类
1.1什么是抽象类
类和类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类。抽象类属于引用数据类型。
1.2抽象类定义方法
[修饰符列表] abstract class类名{ 类体; };
1.3抽象类特点
1)抽象类中依旧可以定义普通方法
2)抽象类中不一定有抽象方法,抽象方法必须出现在抽象类中。
3)抽象类无法实例化
1.4抽象方法特点
1)使用abstract进行修饰
2)抽象方法所在类必须是抽象类
3)抽象类子类可以是抽象类也可以不是,子类若不是抽象类,则必须重写抽象方法
二、接口
2.1接口中的基础概念
1)接口也是一种引用数据类型。
2)接口是完全抽象的。(抽象类是半抽象。)或者也可以说接口是特殊的抽象类。
3)接口定义语法:[修饰符列表] interface 接口名 {}
4)接口支持多继承,一个接口可以继承多个接口。
5)接口中只包含两部分内容,一部分是:常量。一部分是:抽象方法。
6)接口中所有的元素都是public修饰的。(都是公开的。)
7)接口中的抽象方法定义时: public abstract修饰符可以省略。
8)接口中的方法都是抽象方法,所以接口中的方法不能有方法体。
9)接口中的常量的public static final可以省略。
2.2接口基础语法
1)类和类之间叫做继承,类和接口之间叫做实现,可以将"实现"看做"继承",继承使用extends关键字
实现使用implements关键字完成
2)当一个非抽象的类实现接口的话,必须将接口中所有的抽象方法全部实现(覆盖、重写)
3)一个类可以实现多个接口
4)接口和接口之间在进行强制类型转换的时候,没有继承关系,也可以强转
但是一定要注意,运行时可能会出现classCastException异常。
5)继承和实现同时存在时,extends关键字在前,implements关键字在后
2.3接口的作用
接口可以解耦合,任何一个接口都有调用者和实现者。接口可以将调用者和实现者解耦合,调用者面向接口调用,实现者面向接口编写实现
三、类与类之间的关系
3.1 (is a)
cat is a Animal(猫是一个动物)凡是能够满足is a的表示继承关系"
A extends B
3.2 (has a)
I has a Pen(我有一支笔)
凡是能够满足has a关系的表示"关联关系"关联关系通常以"属性"的形式存在
A{
B b;
}
3.3 (like a)
Cooker like a FoodMenu(厨师像一个菜单一样)凡是能够满足like a关系的表示"实现关系"
实现关系通常是:类实现接口。
A implements B
结论:通过以上的方法可以很快找出类与类之间的关系,有助于更快的分析一个项目。