Java接口的简单使用
Java中的接口
在JavaSE中,会学习到关于接口的知识点,它是一个只有抽象方法的类,它里面可以定义全局变量,而关于接口的使用规则也是比较严格的。
- 我们先看一个比较简单的接口:接口A
interface A{
int num = 100; //static final int num = 100;
String name = "接口"; //static final String name = "接口"
void say(); //abstract void say();不能有方法体
void run();
}
我上面这个接口里面定义了一个int型的全局常量num和String类型的全局常量name;这两个变量我们可以在其他方法中进行调用,但不能对其进行赋值操作。
- 接口A那么接口该怎么去实现呢?这里需要用到关键字:implements,下面举个例子:
class B implements A{
int num = 200; //普通的成员变量
String name = "具体类";
void say(){ //具体类必须重写所有抽象方法
System.out.println("B-->say");
}
void run(){
System.out.println("B-->run");
}
}
上面的例子可以看出来,具体类是可以覆盖接口中的全局常量的,并且必须重写接口中的所有抽象方法,那么学到这就有人会问,是否可以只重写部分抽象方法
答案是可以的,但这不是一个普通的类,一个类中只要有抽象方法就要定义为抽象类,所以,只重写了接口的部分抽象方法,这个类必须声明为抽象类,比如:
- 只重写了接口部分抽象方法的类称为抽象类:
abstract class B implements A{
int num = 200; //普通的成员变量
String name = "具体类";
void say(){ //具体类必须重写所有抽象方法
System.out.println("B-->say");
}
void run();//含有抽象方法的类必须声明为抽象类
}
看到这里,对接口的使用应该有了大概的了解吧;
只要我们能分清具体类,抽象类,接口的区别,明确他们的定义;就可以在开发中少踩坑了。