1.接口:扩展性,具备某些本领
2.接口的特点:
a.接口用关键字interface表示, interface XXX{}
b.类实现接口用implements关键字表示, class 类名 implements 接口名{}
c.接口不能实例化,只能按照多态的方式进行实例化,接口类多态也是最常见的多态
d.接口的子类可以是抽象类,但是意义不大,因为抽象类最终还是需要具体类来实现它,具体类实现接口要重写接口中的抽象方法
3.接口成员的特点:
a.成员变量:只能是常量,并且是静态的,有默认修饰符:public static final,我们也可以自己手动给出
b.接口没有构造方法
c.成员方法:只能是抽象方法且没有方法体,有默认修饰符:public static abstract,我们也可以自己手动给出
4.关于接口与抽象类的区别:
a.成员区别:
接口中成员变量只能是常量,抽象类中可以是常量,可以是变量
接口中没有构造方法,抽象类中有构造方法
接口中的方法只能是抽象方法,抽象类中的成员方法可以是抽象方法,可以是非抽象
b.设计理念区别:
接口更多的是“like a”的含义,更多的体现程序的扩展功能,抽象类是“is a”的继承关系,更多的是体现在共性上
5.代码展示:
interfaceInter{int num=20;voidshow();
}class InterImpl implementsInter{public voidshow(){
System.out.println("重写方法");
}
}classInterfaceDemo {public static voidmain(String[] args) {
Inter i=newInterImpl();
i.show();
}
}