接口定义关键字Interface
接口中成员和class定义不同之处
接口中常见的成员有两种1.全局变量 2.抽象方法
都有固定修饰符。共性成员都是public修饰
interface inter{
public static final int NUM=4;
public abstract void show1();
//可以不关键字 void以前得编译会自动补全
public abstract void show2();
}
class Demo1 inplements Inter
接口的特点:
1.接口不能实例化(因为没有方法体)
2.需要覆盖接口中的所有抽象方法的子类,才能实例化
3.接口是用来实现的
类与接口是实现关系
接口实现多继承
interface Inter{
public abstract void show();
}
interface Inter1{
public abstract void show();
//覆盖方法的权限要大于被覆盖方法
}
class SubInter implements Inter,Inter1
{public void show() {
System.out.println("小虎");
}
}
public class InplementsDemo {
public static void main(String[] args) {
SubInter s=new SubInter();
}
}
通过接口实现子类添加新功能
【Java9|Java9 接口】一个类继承一个类的同时,还可以实现多个接口。
避免了单继承的局限性
继承是为了获取体系的基本功能
想要获取功能 通过接口来实现
class Fu1{
void show1() {
System.out.println("hehe");
}}interface Inter{
public abstract void show();
}
class SubInter extends Fu1 implements Inter//用接口实现子类添加功能
{public void show() {
System.out.println("小虎");
}
}
public class InplementsDemo {
public static void main(String[] args) {
SubInter s=new SubInter();
s.show();
s.show1();
}
}
注意:接口可以多继承
多继承主体有问题,而接口中的方法没有主体
*只需要接口中的一个功能,通过创建抽象父类中声明非抽象方法(空方法)来实现接口中的抽象方法,然后通过子类来继承该父类实现。
文章图片
QQ浏览器截图20181023205130.png