JAVA?兩個類同時實現(xiàn)同一個接口的方法(三種方法)
在Java中,兩個類同時實現(xiàn)同一個接口是非常常見的。接口定義了一組方法,實現(xiàn)接口的類必須提供這些方法的具體實現(xiàn)。以下將展示如何實現(xiàn)這一要求,并提供具體的代碼示例。
示例接口
首先,定義一個簡單的接口,比如一個表示動物的接口,它有一個方法makeSound
:
public interface Animal { void makeSound(); }
1. 方法一:兩個類分別實現(xiàn)接口
這是最直接的方法,每個類分別提供接口方法的實現(xiàn)。
1.1 類1:Dog
public class Dog implements Animal { @Override public void makeSound() { System.out.println("Dog says: Bark"); } }
1.2 類2:Cat
public class Cat implements Animal { @Override public void makeSound() { System.out.println("Cat says: Meow"); } }
1.3 測試代碼
接下來,可以通過以下測試代碼來演示接口的實現(xiàn):
public class Main { public static void main(String[] args) { Animal myDog = new Dog(); Animal myCat = new Cat(); myDog.makeSound(); myCat.makeSound(); } }
2. 方法二:使用匿名內(nèi)部類
如果不想創(chuàng)建具體的類,也可以使用匿名內(nèi)部類來實現(xiàn)接口。
public class Main { public static void main(String[] args) { Animal myDog = new Animal() { @Override public void makeSound() { System.out.println("Dog says: Bark"); } }; Animal myCat = new Animal() { @Override public void makeSound() { System.out.println("Cat says: Meow"); } }; myDog.makeSound(); myCat.makeSound(); } }
3. 方法三:使用Lambda表達式(適用于函數(shù)式接口)
如果接口是一個函數(shù)式接口(即只有一個抽象方法的接口),可以使用Lambda表達式來實現(xiàn)它。
3.1 修改接口為函數(shù)式接口
為了使用Lambda表達式,接口可以保持不變,因為它已經(jīng)是一個函數(shù)式接口(只有一個方法)。
3.2 使用Lambda表達式
public class Main { public static void main(String[] args) { Animal myDog = () -> System.out.println("Dog says: Bark"); Animal myCat = () -> System.out.println("Cat says: Meow"); myDog.makeSound(); myCat.makeSound(); } }
4.總結(jié)
通過上述三種方法,可以看到如何在Java中讓兩個類同時實現(xiàn)同一個接口。每種方法都有其適用場景:
(1)直接實現(xiàn)接口:適用于標準的面向?qū)ο缶幊獭?/p>
(2)匿名內(nèi)部類:適用于需要簡單實現(xiàn)接口但不想創(chuàng)建具體類的場景。
(3)Lambda表達式:適用于函數(shù)式接口,可以使代碼更簡潔。
到此這篇關(guān)于JAVA 兩個類同時實現(xiàn)同一個接口的方法的文章就介紹到這了,更多相關(guān)java兩個類同時實現(xiàn)同一個接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring cloud 的監(jiān)控turbine-rabbitmq的示例
這篇文章主要介紹了spring cloud 的監(jiān)控turbine-rabbitmq的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05springboot配合Thymeleaf完美實現(xiàn)遍歷功能
Thymeleaf顯然是一個開發(fā)頁面的技術(shù),現(xiàn)在各種前端技術(shù)層出不窮,比如現(xiàn)在主流的Vue、React、AngularJS等。這篇文章主要介紹了springboot配合Thymeleaf完美實現(xiàn)遍歷,需要的朋友可以參考下2021-09-09如何修改覆蓋spring boot默認日志策略logback詳解
這篇文章主要給大家介紹了關(guān)于如何修改覆蓋spring boot默認日志策略logback的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-10-10詳解Spring boot+CXF開發(fā)WebService Demo
這篇文章主要介紹了詳解Spring boot+CXF開發(fā)WebService Demo,非常具有實用價值,需要的朋友可以參考下2017-05-05