一、生活中的接口
电脑厂商留的USB接口----------制定标准、规范
U盘、键盘、鼠标厂商-----------遵守标准、规范
国家对开发商--------------------制定标准、规范
国家对家具厂商------------------制定标准、规范
开发商、家具厂商----------------遵守标准、规范
银行------------------------------制定标准、规范
银行卡--------------------遵守标准、规范
二、Java中的接口
是一个标准、规范。遵守了这个标准,就能干某件事
由interface定义
接口是完全抽象的抽象类,不能写变量和普通方法,只能包含常量和抽象方法
接口不能被实例化
接口是需要被实现/继承的,所以其中的常量和抽象方法默认都是public类型
实现类/子类:必须重写接口中的所有抽象方法,且修饰符为public
一个类可以实现多个接口,用逗号隔开,
若是又继承又实现时,应先继承extends后实现implements
接口可以继承接口
三、举例
定义接口:
interface Inter1{
public static final int NUM=5;
public abstract void show();
double PI=3.14159;//接口中的常量,默认是public static final
void a();//接口中的方法,默认是 public abstract
//int count;//编译错误,常量必须声明同时初始化
//void f() {}//编译错误,接口中方法默认都是抽象方法
}
interface Inter2{
void b();
}
接口的继承
interface Inter3 extends Inter2{
void c();//接口中的方法,默认是 public abstract
}
类实现接口:必须重写所有的抽象方法,并且修饰符为public
class A implements Inter3{
//void b() {};//编译错误,接口中抽象方法默认都是public修饰符,类中重写时修饰符不能低于它
public void b() {}
public void c() {}
}
既继承类又实现接口:接口是继承的单根性的扩展,类只能继承一个父类,但可以实现多个接口
class B{}
class C extends B implements Inter1,Inter2{1.
public void show() {}
public void a() {}
public void b() {}
}