package InterfaceTest;
/*
接口的使用:
1.接口使用Interface来定义
2.Java中,接口和类是并列的结构
3.如何定义接口:定义接口中的成员
3.1、jdk7及之前,只能定义全局常量和抽象方法
#全局常量:public static final 的
#抽象方法:public abstract 的
3.2、jdk8:除了定义全局变量和抽象方法之外,还可以定义静态方法,默认方法等。
4、接口中不能定义构造器,意味着接口不能实例化
5、Java开发中,接口通过让类实现(implements)的方式来实现。
如果实现类中覆盖了接口中的所有抽象方法,则此方法就可以实例化
如果实现类中没有覆盖接口中的所有抽象方法,则此实现类仍为一个抽象类
6、Java类可以实现多个接口 ----》弥补了Java中单继承性的局限性
7、接口与接口之间可以继承,而且可以多继承
接口的运用:代理模式(Proxy)
*/
public class InterfaceTest1 {
public static void main(String[] args) {
server server = new server();
ProxyServer proxyServer = new ProxyServer(server);
proxyServer.browse();
}
}
interface NestWork{
public void browse();
}
//被代理类
class server implements NestWork{
@Override
public void browse() {
System.out.println("真实的服务器访问网络");
}
}
//代理类
class ProxyServer implements NestWork{
private NestWork work;
public ProxyServer(NestWork work){
this.work = work;
}
public void check(){
System.out.println("联网 之前的检查工作");
}
@Override
public void browse() {
check();
work.browse();
}
}
原文:https://www.cnblogs.com/guaner/p/13308223.html