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

Java標識接口的使用方法

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

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

標接口在Java語言中有一些很著名的應用,比如java.io.Serializable和java.rmi.Remote等接口便是標識接口。標識接口,當一個類實現了一個標識接口之后就像是給自己打了個標簽。

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

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

public interface SomeThing {}

人類的接口:

public interface Humans extends SomeThing{}

動物的接口:

public interface Animals extends SomeThing{}

然后是一系列的實現:

狗:

public class Dog implements Animals {}

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

 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());
   //下面進行秒殺等相關處理
   //銷毀他
   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標簽,我就是不用。于是放到我們的程序中當然就只有挨打的份了。

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

相關文章

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

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

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

    SPRINGMVC 406問題解決方案

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

    Java中復雜的Synchronized關鍵字使用方法詳解

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

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

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

    Springboot整合Netty自定義協議實現示例詳解

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

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

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

    Java String字符串補0或空格的實現代碼

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

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

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

    利用logback 設置不同包下的日志級別

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

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

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

最新評論

罗定市| 菏泽市| 汉沽区| 宣化县| 炉霍县| 太保市| 化德县| 宝山区| 昌图县| 北京市| 秦皇岛市| 南汇区| 河北省| 临夏市| 革吉县| 丰宁| 唐山市| 南开区| 新泰市| 开封市| 游戏| 吉木萨尔县| 汽车| 若尔盖县| 岑巩县| 北碚区| 三台县| 怀安县| 滨州市| 丰县| 双流县| 时尚| 惠来县| 左云县| 武强县| 利辛县| 安福县| 康乐县| 灵台县| 平安县| 乌鲁木齐县|