接口
格式:修饰符列表 interface 接口名{ }
**1.接口也是一种引用数据类型,编译后也是一个class
2.接口是完全抽象的,抽象类是半抽象的,接口是特殊的抽象类
3.接口支持继承,且支持多继承
4.接口只包含两部分内容:常量和抽象方法
5.接口中所有的元素都是public修饰
6.接口的方法不能有方法体
7.接口中的变量都是常量,不允许修改,且常量中的public static final可以省略
8.一个非抽象的类,实现接口时,必须将接口中的所有方法加以实现。
9.一个类可以implements多个接口
10.extends与implements同时存在时,extends在前,implements在后
11.使用借口时可以使用多态,父类型指向子类型的对象。(面向接口的编程)
**
public class Test
{
public static void main(String[] args) {
//MyMath.PI = 3; //报错:因为PI是常量,无法为最终变量PI分配值
}
}
interface A{
}
interface B{
}
interface C extends A,B //接口支持继承,且支持多继承
{
}
interface MyMath{
//常量
public static final double PI = 3.1415926;//其中public static final 可以去掉,且这里定义的常量不可以修改和重新赋值
//抽象方法
int sub(int a,int b);
public abstract int sum(int a,int b);//其中public abstract 可以去掉
}