最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java標(biāo)識接口的使用方法

 更新時間:2019年01月24日 14:10:09   投稿:laozhang  
在本篇文章中小編給大家分享了關(guān)于Java標(biāo)識接口的使用方法和教程內(nèi)容,有需要的朋友們學(xué)習(xí)下。

標(biāo)識接口是沒有任何方法和屬性的接口。標(biāo)識接口不對實現(xiàn)它的類有任何語義上的要求,它僅僅表明實現(xiàn)它的類屬于一個特定的類型。

標(biāo)接口在Java語言中有一些很著名的應(yīng)用,比如java.io.Serializable和java.rmi.Remote等接口便是標(biāo)識接口。標(biāo)識接口,當(dāng)一個類實現(xiàn)了一個標(biāo)識接口之后就像是給自己打了個標(biāo)簽。

為此,我們使用了下面三個接口:

一個用來表示萬事萬物的SomeThing

public interface SomeThing {}

人類的接口:

public interface Humans extends SomeThing{}

動物的接口:

public interface Animals extends SomeThing{}

然后是一系列的實現(xiàn):

狗:

public class Dog implements Animals {}

妖怪(他很聰明,給自己帖上了人的標(biāo)簽):

 public class Monster implements Humans {}

下面這個程序的核心部分,獵人類及客戶端程序:

public class Hunter{
 
public void fire(Object target)
{
   if(target instanceof Humans){
    System.out.println("這下完了,打中了");
   }else{
     System.out.println("恭喜你,打中了一只動物!");
   }
}
//智能的槍
public void intelligentFire(Object target)
{
   if(target instanceof Humans){
    return;
   }
   System.out.println("開了一槍!"+target.getClass());
   //下面進行秒殺等相關(guān)處理
   //銷毀他
   target=null;
}
 
public static void main(String[] args) {
  Hunter hunter=new Hunter();
  Object[]
  objects =new Object[]{new Dog(),new Japanese(),new Japanese(),new Chinese(),new Monster(),new SomeThing(){}};
    for(int i=0; i<objects.length; i++){
       hunter.intelligentFire(objects[i]);
    }
}

我就不理你Hunter制訂的規(guī)則,什么Humans標(biāo)簽,我就是不用。于是放到我們的程序中當(dāng)然就只有挨打的份了。

由此可見,空接口(標(biāo)簽接口)的重要性,在像本例中,給不給自己帖上標(biāo)簽,這是一個性命莜關(guān)的問題。其實在OO的世界中,空接口可以算是最高的層像。

相關(guān)文章

  • Java請求Http接口OkHttp超詳細(xì)講解(附帶工具類)

    Java請求Http接口OkHttp超詳細(xì)講解(附帶工具類)

    這篇文章主要給大家介紹了關(guān)于Java請求Http接口OkHttp超詳細(xì)講解的相關(guān)資料,OkHttp是一款優(yōu)秀的HTTP客戶端框架,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • SPRINGMVC 406問題解決方案

    SPRINGMVC 406問題解決方案

    這篇文章主要介紹了SPRINGMVC 406問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Java中復(fù)雜的Synchronized關(guān)鍵字使用方法詳解

    Java中復(fù)雜的Synchronized關(guān)鍵字使用方法詳解

    Synchronized關(guān)鍵字是一個種鎖,其有很多名字,例如重量級鎖、悲觀鎖、可重入鎖、、非公平、對象鎖等等,這篇文章主要給大家介紹了關(guān)于Java中復(fù)雜的Synchronized關(guān)鍵字使用方法的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Spring的注解配置與XML配置之間的比較

    Spring的注解配置與XML配置之間的比較

    在很多情況下,注釋配置比 XML 配置更受歡迎,注釋配置有進一步流行的趨勢。Spring 2.5 的一大增強就是引入了很多注釋類,現(xiàn)在您已經(jīng)可以使用注釋配置完成大部分 XML 配置的功能
    2013-09-09
  • Springboot整合Netty自定義協(xié)議實現(xiàn)示例詳解

    Springboot整合Netty自定義協(xié)議實現(xiàn)示例詳解

    這篇文章主要為大家介紹了Springboot整合Netty自定義協(xié)議實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • java開發(fā)RocketMQ消息中間件原理基礎(chǔ)詳解

    java開發(fā)RocketMQ消息中間件原理基礎(chǔ)詳解

    最近 RocketMQ 剛剛上生產(chǎn)環(huán)境,閑暇之時在這里做一些分享,主要目的是讓初學(xué)者能快速上手RocketMQ,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • Java String字符串補0或空格的實現(xiàn)代碼

    Java String字符串補0或空格的實現(xiàn)代碼

    這篇文章主要介紹了Java String字符串補0或空格的實現(xiàn)代碼,代碼簡單易懂,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-09-09
  • Java弱鍵集合WeakHashMap及ConcurrentCache原理詳解

    Java弱鍵集合WeakHashMap及ConcurrentCache原理詳解

    這篇文章主要介紹了Java弱鍵集合WeakHashMap及ConcurrentCache原理詳解,基于哈希表的Map接口實現(xiàn),支持null鍵和值,但是WeakHashMap具有弱鍵,可用來實現(xiàn)緩存存儲,在進行GC的時候會自動回收鍵值對,需要的朋友可以參考下
    2023-09-09
  • 利用logback 設(shè)置不同包下的日志級別

    利用logback 設(shè)置不同包下的日志級別

    這篇文章主要介紹了利用logback 設(shè)置不同包下的日志級別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 微信開發(fā)協(xié)議小結(jié)

    微信開發(fā)協(xié)議小結(jié)

    通過本教程給大家分享微信開發(fā)協(xié)議小結(jié)的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,感興趣的朋友一起看看吧
    2016-11-11

最新評論

柯坪县| 海阳市| 紫云| 屯门区| 兰州市| 松滋市| 成武县| 西青区| 天峨县| 崇礼县| 微山县| 越西县| 武清区| 哈巴河县| 六安市| 双柏县| 翁牛特旗| 乌拉特前旗| 白沙| 大宁县| 休宁县| 马尔康县| 中宁县| 玉屏| 兴文县| 广河县| 康乐县| 汤阴县| 正阳县| 鄱阳县| 邵武市| 绍兴市| 武城县| 逊克县| 固安县| 分宜县| 北宁市| 郑州市| 当雄县| 独山县| 古丈县|