抽象类和接口
一、抽象类
1.抽象类
- abstract修饰,无法实例化
- 抽象类中一定有构造器,便于子类实例化使用
- 开发中都会提供抽象类的子类,让子类对象实例化,完成相关的操作
- 抽象类可以包含抽象方法和非抽象方法
- 定义:
public abstract class Animal { public abstract void makeSound(); }
2.抽象方法
- 一个抽象方法只有方法头,没有方法主体
- 访问修饰符 abstract 返回类型 方法名 (参数列表);
- 实例—需求
建模—观察者模式
二、接口
一个类实现多个接口
类似于c++中的多继承效果
1.接口的方法
- 接口中的所有方法都是public,抽象方法
- 接口和所有方法都是抽象方法的抽象类十分类似
- 它不能实例化或继承,只能实现
- 在接口中所列的所有方法必须在类外实现
2.接口的属性
必须是public,static和final的
3.接口的实现
1.类需要在类头中使用implements关键字实现接口
2.实现多个接口,代码如下:
public class MyClass impl ements Interface1, Interf ace2,Interface3{}
4.多态类和接口
java允许创建接口类型的引用变量
接口引用变量可以放置任何对象的地址