1:接口方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
2:里面的方法全是公开抽象方法,里面的变量全是公开常量。
3:抽象方法只能存在于抽象类或者接口中,但抽象类中却能存在非抽象方法,即有方法体的方法。接口是百分之百的抽象类。
4:Java可以通过实现接口来弥补多继承这个局限
5:为了声明一个接口,必须使用interface
关键字
接口中全局常量定义:public static final 数据类型 变量名
public class text1 {
public static void main(String[] args) {
B b=new B();
System.out.println(b.NUM);
b.method();
b.fun();
// b.show();//静态show()方法是属于接口A,不能被其他对象直接调用
A.show();
System.out.println(A.NUM);
}
}
//定义接口:A
interface A{
//常量 ,使用final声明变量时,要求全部的字母大写。如果一个程序中使用public static final 声明,则此变量将成为全局变量
public static final int NUM=10;
// 抽象方法
public abstract void method();
// 静态方法,可以有方法体
public static void show() {
System.out.println("静态方法");
}
//默认方法,可以有方法体
public default void fun(){
System.out.println("默认方法");
}
}
//实现类,实现接口,接口里的抽象方法要实现
class B implements A{
@Override
public void method() {
System.out.println("重写后的方法");
}
// 默认方法根据功能需求看是否要重写方法体
}
必须是继承在前面接口再后面
/* 也可以先继承再实现接口
class B extend object implements A{
public void method() {
System.out.println("重写后的方法");
}
*/