接口
- 接口定义包括接口定义和接口体,接口体中包含常量的声明和抽象方法(抽象方法没有方法体)
- 在接口中属性一定是静态常量,所以final和static可以省略,方法一定是抽象方法,所以public和abstract可省略
- 如果实现类没有重写接口中的所有方法,那么这个类一定是抽象类
- 如果父类实现了某个接口,那么子类自然也实现该接口
- 接口也可以被继承,子接口继承父类的所有方法和常量
UML图
![]()
接口回调
- 接口变量调回实现类的接口方法,就是将实现类的对象的引用交给接口的变量。(不能在接口中定义变量,可以在别的类中)与上转型对象类似
public interface Advertisement {//所有广告公司都需要实现的接口
void showAdvertisement();//展示广告词
String getCorpName();//公司名
}
public class WhiteCorp implements Advertisement{
@Override
public void showAdvertisement() {
System.out.println("白云白云");
}
@Override
public String getCorpName() {
return "白云公司";
}
}
public class BlackCorp implements Advertisement{
@Override
public void showAdvertisement() {
System.out.println("黑土黑土");
}
@Override
public String getCorpName() {
return "黑土公司";
}
}
public class AdvertisementTest {
public static void main(String[] args) {
AdvertisementBoard board = new AdvertisementBoard();
board.show(new WhiteCorp());
board.show(new BlackCorp());
}
}