java学习——Java 中接口的作用?

createh53周前 (12-07)技术教程21

对于很多Java初学者而言,接口很不容易理解,实际上接口只是一个规范,里面的很多方法都是空的。接下来举个例子帮助大家形象的理解接口。

假如我开了一个宠物粮店,并声明称:所有的宠物都可以到我这里买粮食,这就相当于一个接口public interface PetRestaurant {

public void buy();

}

当一只狗看到了,知道自己是宠物,所以它去实现这个接口

public class DogPet implements PetRestaurant {

@Override

public void buy() {

System.out.println("我是狗,我要买狗粮");

}

}当一只猫看到了,知道自己也是宠物,所以也去实现这个接口

public class CatPet implements PetRestaurant {

@Override

public void buy() {

System.out.println("我是猫,我要买猫粮");

}

}

当然,在狗和猫来店之前,我并不知道它们究竟是什么,但是,当它们走进我的店里,我就知道了,它们一个要狗粮,一个要猫粮。因为它们实现了我这个接口,所以都可以买。接下来的这个好比接待顾客的,也就是店小二,他负责接待实现了宠物店接口要求的所有宠物,这时候传进来一个PetRestaurant 类型的宠物请注意!这个PetRestaurant 是接口public class test {

public void buy(PetRestaurant pet)

{

pet.buy();

}

}

好了,这个时候我这个老板出现了,我可以给它们卖粮食了,相当于测试类

public class Tests {

public static void main(String[] args) {

PetRestaurant dog = new DogPet(); //实例化一个狗,相当于把狗顾客实例化

PetRestaurant cat = new CatPet();//实例化一个猫,相当于把猫顾客实例化

test t = new test(); //实例化一个店小二

t.buy(cat); //把猫交给店小二

t.buy(dog); //把狗交给店小二

}

}

这样运行的结果就是

我是猫,我要买猫粮

我是狗,我要买狗粮

你知道吗 在整个的过程中实际上我这个粮食店老板根本不知道来的到底是狗还是猫,只要我有一个店小二,把这些来的不知道什么动物都交给店小二,店小二就知道怎么卖了,因为这些阿猫阿狗都已经实现了我这个宠物店的接口,店小二就只负责去接待这些实现了接口的动物。这就有了一个好处,假如明天来了一只猴子,只要它实现了我这个接口,我就只管交给店小二去处理就OK啦!


试想一下,假如没有接口该怎么办?来一只狗,我去创建一只狗,来一只猫,我再去创建一只猫,同样要实例化,还要配备专门的店小二去接待,就会相当麻烦。


在Java中接口就是为所有的任务类型提供了一种规范或者说是标准,意思是只要你的任务符合这个标准,我的程序就可以处理。

有任何JAVA问题可以随时咨询远标JAVA培训中心

相关文章

万字详解java接口

文章目录一、初始接口1.1 什么是接口?接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用。在Java中,接口可以看成是:多个类的公共规范,是一种引用数据类型。1.2 接口定义规则...

每天学Java!Java中的接口有什么作用

对于Java初学者而言,接口是一个很麻烦的事。很多新手觉得定义了一个接口,但是在继承这个接口的类中还要写接口的实现方法,那不如直接就在这个类中写实现方法岂不是更便捷,还省去了定义接口。所以,小华君就和...

Java:接口和抽象类,傻傻分不清楚?

再来聊聊接口和抽象类。01、抽象类和接口的区别来看网络上对接口的一番解释:接口(英文:Interface),在 Java 编程语言中是一个抽象类型,是抽象方法的集合。一个类通过继承接口的方式,从而来继...