欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中的多態(tài)用法實例分析

 更新時間:2015年04月16日 15:21:44   作者:司青  
這篇文章主要介紹了Java中的多態(tài)用法,較為詳細的分析了java中多態(tài)的概念與相關的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Java中的多態(tài)用法。分享給大家供大家參考。具體分析如下:

多態(tài),是面向對象的程序設計語言最核心的特征。封裝性、繼承性都比較簡單,所以這里只對多態(tài)做一個小小的筆記。。。

1、什么是多態(tài)?

多態(tài)意味著一個對象可以多重特征,可以在特定的情況下,表現(xiàn)出不同的狀態(tài),從而應對不同的屬性和方法。在Java中,多態(tài)的實現(xiàn)指的是使用同一個實現(xiàn)接口,以實現(xiàn)不同的對象實例。

例如,我們定義一個Parent類,再定義一個getName()方法返回一個字符串,定義一個形參為Parent類型的成員方法doSomething(Parent obj),在這個方法中調用obj.getName()。然后再定義兩個類A和B,都從Parent類繼承而來,在子類中重寫getName()方法。最后在main方法中創(chuàng)建一個Parent類的對象objP,調用objP.doSomething()方法并向其傳遞class A,和class B 的引用。觀察輸出結果。

class Parent 
{ 
  private String name = "parent"; 
  public String getName() 
  { 
    return this.name; 
  } 
  public void doSomething(Parent obj) 
  { 
    //輸出類名 
    System.out.println(obj.getName()); 
  } 
  public static void main(String[] args) 
  { 
    Parent objP = new Parent(); 
    objP.doSomething(new A());
 // 傳遞A的引用,則調用的是A類的getName方法
    objP.doSomething(new B());
 // 傳遞B的引用,則調用的是B類的getName方法
  } 
} 
class A extends Parent 
{ 
  private String name = "class A"; 
  //@重寫getName()方法 
  public String getName() 
  { 
    return this.name; 
  } 
} 
class B extends Parent 
{ 
  private String name = "class B"; 
  //@重寫getName()方法 
  public String getName() 
  { 
    return this.name; 
  } 
}

可見,父類的doSomething方法多態(tài)地調用了我們傳遞的對象的getName方法,而不是Parent類本身的getName方法。

2、Java中的接口

Java中的接口,是一系列方法的聲明。一個接口只有方法的特征,而沒有方法的實現(xiàn)。這些方法可以從別處通過特定的類來實現(xiàn)。在Java中,用關鍵字interface來聲明一個接口。

用接口實現(xiàn)多態(tài)的實例:

interface Name 
{ 
  //只聲明,不實現(xiàn) 
  public String getName(); 
} 
class A implements Name 
{ 
  private String name = "class A"; 
  //實現(xiàn)getName方法 
  public String getName() 
  { 
    return name; 
  } 
} 
class B implements Name 
{ 
  private String name = "class B";
  //實現(xiàn)getName方法 
  public String getName() 
  { 
    return name; 
  } 
  public static void main(String[] args)
  { 
    Name obj = new A(); 
    System.out.println(obj.getName());
  } 
}

可以看到,打印出了類A的名字class A。

PS:一個類如果沒有實現(xiàn)接口中的所有方法,那么這個類必須被聲明為abstract(抽象的)。一個abstract類是不允許實例化對象的。

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

相關文章

  • java實現(xiàn)文件上傳、下載、圖片預覽

    java實現(xiàn)文件上傳、下載、圖片預覽

    這篇文章主要介紹了java實現(xiàn)文件上傳、下載、圖片預覽,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Java中的ConcurrentHashMap原理詳解

    Java中的ConcurrentHashMap原理詳解

    這篇文章主要介紹了Java中的ConcurrentHashMap原理詳解,ConcurrentHashMap和HashMap一樣,是一個存放鍵值對的容器,使用hash算法來獲取值的地址,因此時間復雜度是O(1),查詢非???需要的朋友可以參考下
    2023-12-12
  • Java AES加密解密的簡單實現(xiàn)方法

    Java AES加密解密的簡單實現(xiàn)方法

    下面小編就為大家?guī)硪黄狫ava AES加密解密的簡單實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Springboot項目中運用vue+ElementUI+echarts前后端交互實現(xiàn)動態(tài)圓環(huán)圖(推薦)

    Springboot項目中運用vue+ElementUI+echarts前后端交互實現(xiàn)動態(tài)圓環(huán)圖(推薦)

    今天給大家?guī)硪黄坛剃P于Springboot項目中運用vue+ElementUI+echarts前后端交互實現(xiàn)動態(tài)圓環(huán)圖的技能,包括環(huán)境配置及圓環(huán)圖前端后端實現(xiàn)代碼,感興趣的朋友一起看看吧
    2021-06-06
  • Maven打jar包的三種方式(小結)

    Maven打jar包的三種方式(小結)

    這篇文章主要介紹了Maven打jar包的三種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Java 設計模式之責任鏈模式及異步責任鏈詳解

    Java 設計模式之責任鏈模式及異步責任鏈詳解

    顧名思義,責任鏈模式(Chain of Responsibility Pattern)為請求創(chuàng)建了一個接收者對象的鏈。這種模式給予請求的類型,對請求的發(fā)送者和接收者進行解耦。這種類型的設計模式屬于行為型模式
    2021-11-11
  • Java中String字符串使用避坑指南

    Java中String字符串使用避坑指南

    Java中的String字符串是我們日常編程中用得最多的類之一,看似簡單的String使用,卻隱藏著不少“坑”,如果不注意,可能會導致性能問題、意外的錯誤容易造成線上事故( OOM),服務器崩潰,甚至難以察覺的Bug!今天我們就來聊聊String使用中的一些常見坑點,以及如何優(yōu)雅避坑
    2025-02-02
  • Java 散列存儲詳解及簡單示例

    Java 散列存儲詳解及簡單示例

    這篇文章主要介紹了Java 散列存儲詳解及簡單示例的相關資料,需要的朋友可以參考下
    2017-02-02
  • Spring IOC推導與DI構造器注入超詳細講解

    Spring IOC推導與DI構造器注入超詳細講解

    這篇文章主要介紹了Spring IOC推導與DI構造器注入,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-02-02
  • 從ElasticSearch中刪除數(shù)據(jù)的幾種常見方式

    從ElasticSearch中刪除數(shù)據(jù)的幾種常見方式

    這篇文章主要給大家介紹了關于從ElasticSearch中刪除數(shù)據(jù)的幾種常見方式,在Elasticsearch中刪除數(shù)據(jù)可以通過刪除索引或刪除文檔兩種方式實現(xiàn),需要的朋友可以參考下
    2024-10-10

最新評論