在我们使用接口时需注意:
1.接口是没有静态代码块或者构造方法的
2.一个类的直接父类是唯一的,但是一个类可以同时实现多个接口
3.如果实现类所实现的多个接口当中存在重复的抽象方法,那么只需覆盖重写一次即可
4.如果实现类没有覆盖重写所有接口当中的所有抽象方法,那么实现类就必须是一个抽象类
5.如果实现类实现的多个接口当中存在重复的默认方法,那么实现类一定要对冲突的默认方法进行覆盖重写
6.一个类如果直接父类当中的方法和接口当中的默认方法产生了冲突,优先用父类当中的方法
例如:
interface faceA
{
public static final String INFO="Hello World!";
public abstract void print();
}
interface faceB
{
public abstract void get();
}
class subClass implements faceA,faceB
{
public void print()
{
System.out.println(INFO);
}
public void get()
{
System.out.println("你好!");
}
}
public class InterfaceDemo
{
public static void main(String[] args)
{
subClass subObj=new subClass();
faceA fa=subObj;
fa.print();
faceB fb= subObj;
fb.get();
}
}
运行结果如下
Hello World!
你好!
解析:
首先定义了接口face A其中定义了全局变量INFO和抽象方法print(),接着定义了接口face B和抽象方法get(),在最后定义了子类subClass,同时实现接口face A和face B,并分别对接口face A和face B中的抽象方法进行实现。