接口
当一个抽象类的所有方法都是抽象的,那么就可以把它定义为一个接口,接口是对行为的抽象,抽象类是对属性和行为的抽象。
语法:
interface接口名{
方法的定义;
…
}
接口是引用数据类型。
接口的特征:
1. 在接口中每一个方法的定义都是抽象的,可以省略abstract
2. 接口是不可以实例化的,需要有类来实现接口,
语法:class 类名 implements接口名,接口名,…{
//实现每一个接口中的方法
}
3. 接口中的方法不能和private、static和final共存
4. 接口中不能有属性,在接口中定义属性的都是常量:默认是final static的,即是常量。常量的书写:大写字母,多个单词用_连接。
5. 接口可以继承。jdk1.7中接口可以多继承和多级继承和实现,jdk1.6以下只能实现单继承
接口的应用
使用接口的方式计算圆和正方形的面积和周长。
使用接口的好处:
1. 接口定义的是一种标准,可以是代码分层开发,分模块开发;
2. 降低代码的耦合度,提高代码的可扩展性和可维护性;
3. 接口改进了单继承的局限;
接口和抽象类的区别:
1. 接口的所有方法都是抽象的;抽象类的方法可以是抽象的也可以不是抽象的;
2. 接口和抽象类都不能实例化,接口需要类来实现后实例化实现类;抽象类需要类来继承然后实例化子类;
3. 抽象类只能单继承,接口可以多继承接口(jdk1.7),接口还可以多实现。
4. 接口中的属性是static final 类型的,抽象类中的属性与普通的属性一样。
5. 接口中的方法默认就是abstract的,不需要加abstract;抽象类中的抽象方法必须加abstract。
多态
多态就是行为具有表现多种功能的能力。
继承多态
特点:
1. 必须要有继承关系,在抽象类中可以定义多态的抽象方法,通过子类来继承这个抽象类然后复写抽象类中的抽象方法以达到多态的效果;
2. 多态子类的实例可以赋给父类的引用。
instanceof可以判断多态的引用到底是什么类型。
接口多态
接口的多态基本上和类的继承多态一致,不同的是类的继承使用的是继承关系实现多态,接口采用实现的方式实现多态。
API的使用
通过索引的方式来根据类名查找类的API信息:1. 看包,如果是java.lang下的类,写代码时不用引入包;
2. 看这个指定类时具体类、抽象类、接口?并且关注开始的版本号;查看父类的方法
3. 看属性和构造器