中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java  interface 接口的使用好處分析

發布時間:2020-09-28 21:31:34 來源:腳本之家 閱讀:201 作者:傾聽歲月 欄目:編程語言

本文實例講述了java  interface 接口的使用優點。分享給大家供大家參考,具體如下:

接口interface 的作用是什么?

假設在以前我們開發了某個業務的實現類Demo1,現在根據需求我們需要重新設計該業務的實現類Demo2且不能影響其它業務的運行。

這時候就需要一個標準,一個針對該業務實現的一個標準接口(standard interface)。而所有實現該接口(interface)的類都需要去實現該接口的方法。通過java向上轉型實現針對不同的業務有不同類的實現。

注釋:

1、interface 只有方法名和返回值,沒有方法體,都是抽象方法。切不能直接實例化(通過他的實現類向上轉型獲得該接口的實現)。

Test.java

package Test;
public interface Test
{
  //定義了一個接口方法
  public String getTestText();
}

Test1.java

package Test;
public class Test1 implements Test
{
  @Override
  public String getTestText()
  {
    return "this class name is test1"; 
  }
}

Test2.java

package Test;
public class Test2 implements Test
{
  @Override
  public String getTestText()
  {
    return "this class name test2";
  }
}

Index.java

import Test.Test;
public class Index
{
  public static void main(String[] args)
    throws Exception
  {
    Test test1 = testIndex("Test.Test1");
    System.out.println(test1.getTestText());
    Test test2 = testIndex("Test.Test2");
    System.out.println(test2.getTestText());
  }
  public static Test testIndex(String classPath)
  {
    Test test = (Test)Class.forName(classPath).newInstance();
    return test;
  }
}

至此,你看出這樣用的好處了嗎?Test1和Test2都實現了接口Test 如果以后要更改Test的實現或者是針對不同業務有不同的Test實現,我們都可以動態的載入針對Test不同的實現類。

接口與接口之間是可以繼承的

Demo1.java

package Demo;
public interface Demo1
{
  public String getName();
}

Demo2.java

package Demo;
public interface Demo2 extends Demo1
{
  public String getAge();
}

Demo3.java 繼承Demo2 需要實現Demo1和Demo2中的接口方法

package Demo;
public class Demo3
{
  @Override
  public String getName()
  {
    return "my name is Mr.tan";
  }
  @Override
  public String getAge()
  {
    return "my age is 22";
  }
}

其實本質就是一個類的多鐘表現形態(多態)。針對不同的業務,相同的接口或者是類通過不同的實現類向上轉型表現出不同的形態。

更多java相關內容感興趣的讀者可查看本站專題:《Java面向對象程序設計入門與進階教程》、《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》

希望本文所述對大家java程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南川市| 聂拉木县| 荆州市| 咸丰县| 临西县| 江安县| 江山市| 东安县| 元江| 锡林郭勒盟| 定结县| 县级市| 湘西| 济源市| 忻州市| 紫云| 郸城县| 土默特右旗| 洛扎县| 萝北县| 深水埗区| 日照市| 汽车| 无棣县| 镇康县| 霍城县| 寻甸| 澎湖县| 刚察县| 汾西县| 安新县| 岳西县| 乌拉特前旗| 绥棱县| 科技| 阿拉尔市| 澳门| 宁海县| 同江市| 南城县| 育儿|