package 接口;
/*
接口是一种引用类型,可等同看成类
1、定义接口: [修饰符] interface 接口名{}
2、接口中只能出现 常量、抽象方法
3、接口其实是一种特殊的抽象类 (接口中只含有抽象方法,不能有普通方法)
4、接口中没有构造方法,无法实例化
5、接口之间支持多继承
6、一个实例化类可以实现多个接口 (这里的"实现"可以等同看成 "继承")
7、一个非抽象类实现接口,需要 实现/重写/覆盖 接口中的全部方法
接口的作用:
1、可以是项目分层,使得所有层都面向接口编程,提高开发效率
2、接口使得代码与代码之间的耦合度降低,就像主板与内存条一样变得 "可插拔",可随意切换
*/
interface A{
//接口中的常量必须用public static final修饰 (可省略)(常量名要全部大写)
public static final int NUM = 10;
int NUM1 = 10; //省略了 public static final
//接口中的方法必须用public abstract 修饰 (可省略)
public abstract void fun();//接口中的方法必须为抽象方法
void fun1(); //省略了 public abstract
}
interface Cpu { //面向接口编程 接口就相当于一套协议,各个分层都按照这套协议编程
public abstract void gongZuo();
}
class Intel implements Cpu {
@Override
public void gongZuo() {
// TODO Auto-generated method stub
System.out.println("Intel 工作");
}
}
class PengTeng implements Cpu {
@Override
public void gongZuo() {
// TODO Auto-generated method stub
System.out.println("奔腾工作");
}
}
public class Computer {
public static void chaRuCpu(Cpu cpu) {
cpu.gongZuo();
}
public static void main(String[] args) {
chaRuCpu(new Intel());
chaRuCpu(new PengTeng());
}
}