接口类的定义其实很简单。
把public class中的class改为interface就行了,接口类本质上就是一个抽象类,所以不能实例化,要子类继承,不过,你会发现报错了,没事,就没重写抽象类的抽象方法,也可以让子类也变成抽象类。
那你又会发现还是报错,那就是因为子类继承extends接口类,不能用extends要用implements来实现,那这俩有什么区别吗?那肯定有:继承只能继承一个类,但实现很多个,这就是它的好处。坏处是什么呢?坏处是它和抽象类一样,不能实例化!实例化只能使用多态的方式。而实现类(其实就像子类)的名字一般是接口类后加impi
接口类中的变量会自动变成常量,也就是自动加上final。
,在接口类的变量,在main方法中是可以用:接口类民.变量,调用的。说明它是会被自动静态化的,也就是自动加上static。
还有一个知识点:接口类中是不允许构造方法的,接口没有构造方法,不过我们会发现,实现类中的构造方法中是可以用super()的,这是为什么呢,因为有一个类叫Object所有类都会继承它,或间接继承它,所以调用它的构造方法。
⚪:接口类中的一切方法都会自动变为抽象方法,不能有方法体。
⚪:一个类可以有继承类,也有实现接口类,比如:
public class test extends Object implements imp{}
⚪:在接口中被static,default修饰的方法可以有方法体,不过它不会被实现类和子类继承。
⚪:接口可以继承接口,可以单继承,也可以多继承。