天天看点

JAVA之接口大白话笔记接口

接口

  • 接口相当于特殊的抽象类,定义方式,组成部分与抽象类类似。

定义:代表了某种能力。或者约定,就是个约束准则

  • 方法的定义:能力的具体要求。
  • 使用interface关键字定义接口,
  • 只能定义:公开静态常量,
  • 没有构造方法,不能创建对象
interface NewInterfac{//使用interface关键字定义接口
    
    public static final int AGE =1;//公开的静态的常量;常量名一般采用大写命名
    public abstract void eat();//公开的抽象方法

}
           

接口的特性

  • 可编译成字节码文件
  • 不能创建对象
  • 可以作为引用类型
  • 具备object类中所定义的方法
  • 所有的属性都是公开静态常量,隐式使用public static final修饰。
  • 所有方法都是公开抽象方法,隐式使用public abstract修饰。

接口的实现及引用:

如果要实现接口的时候,必须要实现接口中所有的抽象方法,否则此类为抽象类(这里与abstract相似)

实现接口中的抽象方法是,访问修饰符必须是public。

接口同父类一样可以声明为引用,并指向实现类对象。

多种不同类型的引用指向同一个对象时候,表示看待对象的视角不同,不同引用所能看到的对象的范围不同,只能调用自身类型中所声明的部分。不同引用类型,仅可调动自身类型中所声明的方法。

  1. 实现了接口,一定要重写里面所有的抽象方法,jdk8以后
  2. 实现了接口,一定要重写里面的方法;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等等 通用的状态码 。 比如微信聊天时,双方打字,在聊天区的上方会提示  对方正在输入... 等等  

欢迎补充指教——————————————————