1,java中的接口指的是抽象方法的集合,一个抽象类型,这种抽象类中只有方法特征而没有具体的方法实现, 一般以interface来声明,接口一般定义格式: public interface 接口名{ }
需要注意的是接口不是类,接口是可以多继承的,这一定程度上解决了类只能单继承的问题。除了这,为什么需要接口?
打个不恰当的比方,现实世界有动物,相当于java中的类。动物里面有老虎,狮子,牛,🐏等具体的动物,也就相当于java中的具体的对象。具体的动物它们有 吃 这一动作,也就是对象中的方法,不同的对象用吃这一方法会有不同的结果,也就是不同的方法体。如老虎,狮子吃肉;而牛,🐏等就只能吃草。没有接口,每次创建了具体的动物,就得一次次地定义 吃 这一个方法。为了使代码更简洁,程序员工作量更少,也方便代码的可读性,接口就是必需的。在接口中只是定义了基本的方法名,具体的实现交给实现类。有了接口就不需要反复写 吃 这一方法,需要时候直接iplements 加接口名即可。吃什么则由你自己来重写。
2,接口的用法
举个例子
所有接口监听器都有一个共同的父类EventListener
这个EventListener 类是所有监听器的父类,其他具体作用的接口可以继承他然后自己定义具体的方法体,如动作监听器ActionListener
除此之外,还有各种各样的监听器
接口的使用极大的提高了代码的简洁性和可读性,那如何使用已经给我们写好了的各种接口呢?
首先要先创建一个类用关键字 implements来实现接口
如图,先创建一个ImageListener类,如何用implements来继承ActionListener,因为接口都是抽象类型,只有方法特征没有具体的方法体,所以在继承了接口后,需要你自己再重写抽象方法,要注意的是,重写方法要把接口中所有的抽象方法都复制出来重写。
如图,继承了接口ActionListener,就需要重写其中所有的方法,你需要完成什么操作就在方法中具体写相应的方法体。如此接口的创建就完成了。
然后实际的操作举一个给按钮加监听器的例子
首先创建一个窗体,设置各种数据什么的
然后就创建一个类用来继承动作监听器,创建按钮类JButton,添加到主界面上,同时给按钮加上动作监听器
如此给按钮加上监听器就好了,点击按钮后所要做的事要在创建的监听器中自己写方法体
重写动作监听器的方法体,使其点击按钮会输出“点击按钮”四个字