接口
接口(interface)是一种特殊的抽象类,本质上不是一个类,里面只能包含常量和方法的定义(不允许实现),接口就是一套未实现方法的集合。
声明语法
[修饰符] <interface> 接口名称{
[常量定义]
[抽象方法的定义]
}
例如:
import java.util.ArrayList;
public interface EmpManeger {
boolean add(Emp e);
boolean delete(int eno);
boolean update(Emp e);
ArrayList<Emp> findAll();
Emp findByEno(int eno);
}
接口中不存在像普通类一样的属性,以及普通方法,因此接口实际上就是一套标准,所以就必然存在实现,java中的类可以实现多个接口,从而弥补了类只能单继承的缺点。
实现:
import java.util.ArrayList;
public class EmpManegerImpl1 implements EmpManeger {
@Override
public boolean add(Emp e) {
System.out.println("添加数据到");
return false;
}
@Override
public boolean delete(int eno) {
System.out.println("删除数据");
return false;
}
@Override
public boolean update(Emp e) {
System.out.println("修改数据");
return false;
}
@Override
public ArrayList<Emp> findAll() {
System.out.println("查找所有数据");
return null;
}
@Override
public Emp findByEno(int eno) {
System.out.println("通过工号查找数据");
return null;
}
}
运行:
public class EmpClient {
public static void main(String[] args) {
EmpManeger em = new EmpManegerImpl1();
em.add(null);
em.findAll();
EmpManeger em2 = new EmpManegerImpl2();
em2.add(null);
}
}
接口同样提高了代码的可复用性,也简化了代码,一个类如果继承了一个类,那它就必须实现这个类的所有方法,除非它是抽象子类。