接口

接口interface
接口分为两种:内部接口、外部接口
1 接口中只能声明常量、抽象方法
2 接口中不能声明变量、构造方法
3 接口是不能被实例化的,只能被实现
4 一个类可以实现多个接口
5 在接口里方法不用abstract关键字修饰,默认就是抽象方法
6 一般接口写在service文件(包)里,接口的实现类写在impl文件(包)里
下面有个关于接口的例子,父类对象指向子类,实现了多态
有个人要预定机票,市场上的订票APP为了抢占市场都在搞活动,所以订票渠道很多很多
写一个预定接口,每个预定机票的平台就实现这个接口,并重写预定方法,预定机票的人每次更换要预定的目标平台就好,就算要增加预定渠道,也是实现接口,增加了一种预定方法,这样的话程序的可可扩展性就强很多

机票预定服务接口
public interface BookingService {
	void booking();
}

美团平台预定机票,实现了机票预定服务接口,重写了预定方法
public class MeiTuanService implements BookingService {
	@Override
	public void booking(){
    	System.out.println("美团订票");
 }
}


艺龙平台预定机票,实现了机票预定服务接口,重写了预定方法
public class YiLongService implements BookingService {
@Override
public void booking(){
    System.out.println("艺龙订票");
}
}


用户类,预定机票方法传预定服务接口参数,调用接口的预定机票方法
public class Person{
public void booking(BookingService bookingService){
    bookingService.booking();
}
}

测试类,每次只要更换目标预定机票,因为父类预定服务指向了子类预定接口的实现类,就算再增加预定平台,也只是更换这个地方即可,这样代码的课宽展性就高了很多
public class Test {
	@org.junit.Test
 public void bookingTest(){
    BookingService bookingService=new YiLongService();
    Person person=new Person();
    person.booking(bookingService);
}
}

如果没有接口的话,那每个平台的订票途径就是一个单独的类,用户要使用哪个订票途径就要new一个类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值