第五章 抽象类和接口(接口)

一、接口
接口只定义规范,只规定这批类必须提供的某些方法,而不提供任何实现。是一种松耦合的设计。
1.定义接口
java允许一个类实现多个接口,使程序灵活,易扩展。
语法:[访问符] interface 接口名[extends 父接口1,父接口2……]{
//接口体
}
**注:**接口名首字母大写
语法说明:①访问符可以是public或缺省,则默认采用包权限访问控制,即在相同包中才可以访问该接口;
②一个接口可继承多个父接口,但接口只能继承接口,不能继承类;
③接口体里可以包含静态常量、抽象方法、内部类、内部接口及枚举的定义;
④接口定义的常量、方法,默认定义为public。
2.实现接口
语法:[访问符] class 类名 implements 接口1[,接口2]{
//类体
}
接口的主要用途就是被实现类实现,一个类可以实现一个或多个接口。
**语法说明:**①implements关键字用于实现接口;
②一个类可以实现多个接口,接口之间使用逗号进行分隔;
③一个类在实现一个或多个接口时,这个类必须完全实现这些接口中所有的抽象方法;④一个类实现某个接口时,该类会获得接口中定义的常量、方法等,接口是一种特殊的继承。
可声明接口变量,并用接口变量指向当前接口实现类的实例;不能对接口直接实例化。
Myinterface mi=new ImInterfaceDemo();
:java源文件中可以有多个接口和类,但最多只能有一个接口或类是public,且该源文件的文件名必须与public接口一致。
接口和抽象类相似之处:
1)都不能实例化,需要被其他类实现或继承;
2)类型变量都可以指向其实现类或子类的实例对象;
设计目的的区别:
1)接口体现一种规范;
2)抽象类体现一种模板式设计;

猜你喜欢

转载自blog.csdn.net/weixin_45802395/article/details/103429779