概念:繼承是物件導向語法三大特徵之一,繼承可以降低程式碼的沉餘度,提高程式設計的效率。透過繼承子類別可以隨意呼叫父類別中的某些屬性與方法,一個子類別只能繼承一個父類別,一個父類別可以被多個子類別繼承。它就好比與我們顯示生活中孩子繼承父親的財產。重寫的好處是子類別可以根據需要,定義特定於自己的行為。也就是說子類能夠根據需要實現父類的方法,就好比金毛與哈士奇他的特徵都是來自狗,倉鼠與松鼠他們他們的特徵來自老鼠,而他們身上的不同屬於基因突變就相當於重寫
繼承的特點:
1):java中只支援單根繼承,即一個類別只能有一個直接父類別,一個父類別可以有多個子類別
2):將子類別公共的屬性抽取出來產生父類別屬性用於繼承
3):子類別無法繼承或重寫父類別private修飾的屬性和資源
重寫的特徵:
1).子類別重寫的方法必須和父類別被重寫的方法具有相同的方法名稱、參數清單
2).子類別重寫的方法的回傳值類型不能大於父類被重寫的回傳值類型
3).子類重寫的方法所使用的存取權限不能小於父類被重寫的方法的存取權子類無法重寫父類別中宣告為private(即私有屬性)權限的方法
4).子類別方法拋出的例外狀況不能大於父類別被重寫方法的例外狀況
需要用的的方法或關鍵字:
extends:我們可以透過此關鍵字來進行繼承,在關鍵字後寫入需要被繼承的類別或方法既可實現繼承
super ():我們可以透過此方法來呼叫我們繼承後的父類別的屬性或方法使用
測試類別:
package com.ytzl.total; /*继承*/ public class inherit { public static void main(String[] args) { son son = new son();//调用子类 System.out.println(son.a);//调用子类中的属性 son.a=2;//可以通过子类改变父类中的属性 System.out.println("更改后的父类属性"+son.a); son.myfather();//带调用父类的方法 son.money();//调用重写的方法w son.jng();//调用静态修饰方法 son.jing(); System.out.println("子类通过继承方法调用父类中的属性=>"+son.b);//调用父类中的静态属性 son.two(); } }
父類別:
package com.ytzl.total; public class father { int a=0; static int b=2; private int one=4;//被私有属性修饰后将不能别子类调用或继承, protected int two=0; protected void two(){//该方法只能被子类继承重写不能被调用 System.out.println("我是protected方法"); } public void setOne(int one) { this.one = one; } public void money(){ System.out.println("我是被子类重写的方法"); System.out.println("父类的属性=>"+a); } public void myfather(){ System.out.println("我是被子类继承的方法"); } public static void jing(){ System.out.println("你好"); } public static void jng(){ System.out.println("你好"); } private void dong(){ System.out.println("私有方法"); } }
子類別:
package com.ytzl.total; public class son extends father{ //方法的重写 public void money(){ super.money();//通过继承过去父类的money方法里的内容 System.out.println("重写后的方法"); System.out.println("被继承后"+super.a);//通过super来继承父类的属性 System.out.println("继承后的protected属性=>"+super.two);//通过super来继承protected方法 super.two(); } public static void jing(){//不能重写静态方法static System.out.println("不好"); } private void dong(){//不能重写或者继承父类的私有方法 System.out.println("私有方法"); } protected void two(){//重写后的protected方法 System.out.println("我是重写后的protected方法"); } }
運行後的結果:
以上是Java繼承和方法重寫的特點是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版
SublimeText3 Linux最新版

WebStorm Mac版
好用的JavaScript開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。