< 抽象和接口 >
一、掌握抽象类和抽象方法
- 抽象类的特点
– 1、 被 abstract 关键字修饰 public abstract class 类名{ }
– 2、 抽象类无法创建对象,但是可以通过匿名内部类(它的一个匿名子类)形式委婉的创建。
– 3、 抽象类虽然无法创建对象,但是依然可以有构造方法,同样也可以作为子类对象已用
– 4、有抽象方法的类一定是抽象类,但是抽象类不一定有抽象方法
– 5、 子类继承父类之后,一定套重写父类的所有抽象方法,如果不重写,子类为抽象类(父债子场)
– 6、抽象没有方法体,被 abstract 关键字修饰
二、理解接口的作用和含义
-
接口(生活中的接口):
USB接口、电源接口、网线接口……
提供和出来一个物理插口,可以让多者产生练习,并工作 -
接口(系统功能接口):
API(应用程序接口)文档(Java中的那些类和方法统称为API)
例如:我们开发天气,不会为了此APP雇人去进行天气检测,二十可以直接使用气象局提供的查询接口。
气象局考虑发到有很多人需要使用天气数据,于是将自己检测的数据提供一个接口,方便他人使用。
-
接口(Java 的接口 interface)
Java 单根继承,无法实现多继承情况
has a 关系 -
特点
– 1、 被 interface 关键字修饰
– 2、 接口中的所有属性都必须是公共的静态常量 public static final
– 3、 接口中的所有方法都必须是公共的抽象方法 public abstract
– 4、 Java类可以通过 implements 关键字实现接口,实现接口之后Java也被称为子类并且因为接口中都是抽象方法,所以子类也必须要重写方法,不重写则写为抽象类(Java通过接口实现了“多继承”)你虽然只能有一个亲爹(继承类)但是能有多个干爹(实现接口)
– 5、 接口也不能创建对象(实例化),但是也是可以作为子类对象的引用(多态)
– 6、 接口和接口之间也可以使用继承
面向接口编程
-
匿名内部类
类名 对象名 = new 类名(){
重写方法
};
笔记