1.如何创建一个Java接口
我们使用interface关键词来创建一个接口
interface inter{} //创建了一个接口
2.接口中成员变量的特点
我们先来创建一个接口并测试它
interface inter{
public int num=10;
public final int num=30;
}
class interImpl implements inter{
}
class interTest{
public static void main(String[] args){
inter i=new interImpl();//创建对象
System.out.println(i.num);
System.out.println(i.num2);
}
结果
结果是10和30没问题,但这时我们将代码修改下
interface inter{
public int num=10;
public final int num=30;
}
class interImpl implements inter{
}
class interTest{
public static void main(String[] args){
inter i=new interImpl();//创建对象
i.num=100;
i.num2=200;
}
这回的答案是什么呢,肯定有些人会说报错了,因为num2是拿final修饰了是个常量不可能被修改,但是其实只答对了一半,让我们来看看结果
是不是觉得很奇怪,num明明并没有被final修饰为什么会报错被final修饰呢,其实这就是接口中成员变量的特点:接口中的成员变量都是常量,静态的,并且默认修饰为public static final,
3.接口中的构造方法
构造方法的特点我就不多说了,直接上代码吧
interface Inter{
public Inter(){} //Inter接口的无参构造
}
结果当然就是接口没有构造方法
这样有人就会有疑惑了,没有构造方法,那子类无参构造默认访问父类无参构造,那你没有构造方法,那子类构造方法如何访问?
其实所有的类都继承了一个object类,所以子类会访问object类的构造方法
4.接口中的成员方法
接口中的成员方法只能用抽象方法,并且默认修饰为public abstract