在java中繼承的資源(java里的繼承)

本文目錄一覽:

什麼是繼承,試說明在java中實現多繼承的方法

JAVA里沒有多繼承,一個類之能有一個父類。

而繼承的表現就是多態。一個父類可以有多個子類,而在子類里可以重寫父類的方法(例如方法print()),這樣每個子類里重寫的代碼不一樣,自然表現形式就不一樣。這樣用父類的變數去引用不同的子類,在調用這個相同的方法print()的時候得到的結果和表現形式就不一樣了,這就是多態,相同的消息(也就是調用相同的方法)會有不同的結果。舉例說明:

//父類

public class Father{

//父類有一個打孩子方法

public void hitChild(){}

}

//子類1

public class Son1 extends Father{

//重寫父類打孩子方法

public void hitChild(){

System.out.println(“為什麼打我?我做錯什麼了!”); }

}

//子類2

public class Son2 extends Father{

//重寫父類打孩子方法 public void hitChild(){

System.out.println(“我知道錯了,別打了!”); }

}

//子類3

public class Son3 extends Father{

//重寫父類打孩子方法 public void hitChild(){

System.out.println(“我跑,你打不著!”); }

}

//測試類

public class Test{

public static void main(String args[]){

Father father;

father = new Son1();

father.hitChild();

father = new Son2();

father.hitChild();

father = new Son3();

father.hitChild();

}

}

都調用了相同的方法,出現了不同的結果!這就是多態的表現!

2.JAVA中沒有多繼承,而用介面實現了多繼承!一個類或是可以同時實現多個介面!(就相當於C++里一個類同時繼承了多個類!)例如:

public class Son implements Father1,Father2,Father3{

}

介面有利於代碼功能的擴展(增加新的功能)!而繼承則有利於代碼功能的修改(把舊的功能改成新的功能)!這裡舊功能的修改和新功能的增加前提是不修改舊的功能,舊的功能仍然可以使用!舊類的代碼也不做修改!

接著上面的繼承舉例:上面例子中的子類我們統稱為一代子類

1.用繼承修改舊的功能。

現在如果一代Son1的功能打孩子,也就是方法hitChild()裡邊的功能實現有問題,我們要把具體實現修改掉,那麼我們可以重新寫一個新的二代子類Son11繼承自一代子類Son1,並重寫其hitChild()方法。

//二代子類

public class Son11 extends Son1{

//重寫父類打孩子方法

public void hitChild(){ System.out.println(“我是二代子類對此方法的新實現”);

}

}

2.用介面實現增加新的功能。

現在類Son1已經有了『打孩子』功能(也就是方法),而我們有了新的需求,我們需要它還要有一個新的功能『寵孩子』(新方法pet();)。而舊的代碼不能動!那麼我們可以定義一個新的介面(PetInterFace),介面里定義這個方法pet()的聲明。再重新寫一個二代子類Son11,讓它先繼承類Son1,同時實現介面 PetInterFace!並實現介面里的 pet()方法!

//新介面

public interface PetInterFace{

//新功能方法 public void pet();

}

//二代子類

public class Son11 extends Son1 implements PetInterFace{

//實現介面方法

public void pet(){

System.out.println(“父親很愛我!”);

}

}

這樣這個二代子類即有了老的方法,又有新的功能!

解釋一下Java中的繼承,都繼承到什麼了

java是面向對象的編程語言,是類構成了java語言,而繼承又是java必不可少的,繼承就是當你寫一個類時,雖然這個類滿足了某些功能但是你又想拓展它的功能,此時你就可以使用繼承機制在寫一個該類的子類,來完成你需要的功能,一旦子類繼承了父類…

JAVA中是繼承不能實現資源共享而介面可以實現資源共享嗎?

介面內部變數默認為public屬性,所以實現這個介面的類,是能完全訪問介面內變數的。

某種程度達到了你的要求。

另外,如果類內對象定義為protected屬性,那麼繼承的手段也能完全資源共享

關於Java 的繼承問題,子類會繼承父類的哪些東西?

父類和子類的問題:

確認父類的方法是否使用了private修飾

並非所有的父類方法都可以被子類繼承的。

其次確認子類繼承父類時,是否有import

父類

【無法找到繼承的對象】感覺像是沒有import

編譯的時候,查找的是class文件。所以父類只有class是可以的。但是需要放在同一個工程中

你說的第二個問題?好像是實現不了。父類調用子類的方法是掉不到的

想實現這個就得依靠介面了

java中的繼承

當然有

fathera=newson是屬於父類引用指向了子類對象,java把這種把子類對象賦給父類引用變數稱之為向上轉型

區別:給你舉個例子

比如,father類有一個eat()方法,son類繼承了father類,也就擁有了eat()方法,並同時定義了自己的方法drink().如果是fathera=newson,則你只能調用屬於father的方法eat(),而不能調用son的方法drink().也就是說雖然變數a指向了對象son,但由於它編譯時的類型是father,所以它不能調用屬於son的方法,儘管變數a運行時的類型是son.

而sona=newson中的a則可以調用屬於它自己的方法drink().和它繼承的方法eat(),因為a這個引用變數編譯時的類型和運行時的類型都是son.

再說的大眾些,fathera=newson是以父親的角度看兒子,由於父子之間有繼承關係,你是創造了一個兒子對象並把它當父親用,所以你只能調用屬於父親的方法,而sona=newson就是你是創造了一個兒子對象並把它當兒子,所以你可以調用屬於兒子的方法和他所繼承父親的方法

以後你理解了多態以後,就好理解這個問題了

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/259476.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 16:29
下一篇 2024-12-15 16:29

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python飛機大戰中文字資源分析

    Python飛機大戰是一款經典的飛行射擊遊戲,在遊戲過程中,玩家需要控制一架飛機不斷消滅敵人,生存到最後。該遊戲使用Python語言編寫,其中涉及到的文字資源對遊戲的整體體驗有重要…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論