一、咱们看什么是接口之前,咱们比较一下普通类、抽象类、接口三者之间的区别
二、咱们简单解释一下接口
注:声明类的关键字是class,声明接口的关键字是interface
publicinterface userservice{//接口中的所有定义其实都是抽象的,都是public abstract的。publicabstractvoidrun();//public abstract是可以不用写的voidrun(String name);voidjump();voidsmile();voideat(String name);}
public abstract是可以不用写的,接口中的所有定义都是抽象的,普通方法是无法写的。
publicclass userserviceIMPlimplements userservice{@Override//重写publicvoidrun(){}@Override//重写publicvoidrun(String name){}@Override//重写publicvoidjump(){}@Override//重写publicvoidsmile(){}@Override//重写publicvoideat(String name){}}
他所继承的接口中,接口中的每一个抽象方法,都必须被子类重写,否则子类报错。
它可以继承多个接口,代码如下:
咱们编写一个新的接口
publicinterface test{voidtest1();voidtest2();voidtest3();}
咱们用子类继承上面两个接口
publicclass userserviceIMPlimplements userservice,test{@Overridepublicvoidrun(){}@Overridepublicvoidtest3(){}@Overridepublicvoidtest1(){}@Overridepublicvoidtest2(){}@Overridepublicvoidrun(String name){}@Overridepublicvoidjump(){}@Overridepublicvoidsmile(){}@Overridepublicvoideat(String name){}}
少重写两个接口中的一个抽象方法都不行,都会爆红。
看到这里,要记住一个东西,java是单继承的,但是可以通过 接口 实现多继承!
publicinterface test{//常量,由public static final 来修饰publicstaticfinalint age=23;int year=233;//同样public static final 可以省略不写。}