接口
- 接口相当于特殊的抽象类,定义方式,组成部分与抽象类类似。
定义:代表了某种能力。或者约定,就是个约束准则
- 方法的定义:能力的具体要求。
- 使用interface关键字定义接口,
- 只能定义:公开静态常量,
- 没有构造方法,不能创建对象
interface NewInterfac{//使用interface关键字定义接口
public static final int AGE =1;//公开的静态的常量;常量名一般采用大写命名
public abstract void eat();//公开的抽象方法
}
接口的特性
- 可编译成字节码文件
- 不能创建对象
- 可以作为引用类型
- 具备object类中所定义的方法
- 所有的属性都是公开静态常量,隐式使用public static final修饰。
- 所有方法都是公开抽象方法,隐式使用public abstract修饰。
接口的实现及引用:
如果要实现接口的时候,必须要实现接口中所有的抽象方法,否则此类为抽象类(这里与abstract相似)
实现接口中的抽象方法是,访问修饰符必须是public。
接口同父类一样可以声明为引用,并指向实现类对象。
多种不同类型的引用指向同一个对象时候,表示看待对象的视角不同,不同引用所能看到的对象的范围不同,只能调用自身类型中所声明的部分。不同引用类型,仅可调动自身类型中所声明的方法。
- 实现了接口,一定要重写里面所有的抽象方法,jdk8以后
- 实现了接口,一定要重写里面的方法;jdk1.7包含1.7和以前
接口的常见关系
类与类:单继承,extends父类名称
类与接口:多实现,implements接口名称1,接口名称2,接口名称n
接口与接口:多继承,extends 父接口1,父接口2,父接口n
常量接口
程序中频繁使用到多次的固定值,使用接口保存这个常量。或者有直观含义也可以使用常量接口。
public interface Ilight {
public static final int RED= 1;
public static final int GREEN=2;
public static final int YELLO=3;
}
public class DemoDay02 implements Ilight{
public static void main(String [] args) {
int trafficLight =2;
if(trafficLight==Ilight.RED) {
trafficLight=Ilight.GREEN;
}else if(trafficLight ==Ilight.YELLO) {
trafficLight=Ilight.RED;
}
else {
trafficLight=Ilight.RED;
}
}
}
通用的错误码。 比如打游戏经常出现的 错误码:0x108.或者无法打开网页提示没网:错误代码-102等等 通用的状态码 。 比如微信聊天时,双方打字,在聊天区的上方会提示 对方正在输入... 等等
欢迎补充指教——————————————————