繼承筆記

来源:http://www.cnblogs.com/monsterlsh/archive/2016/03/20/5297309.html
-Advertisement-
Play Games


用關鍵字extends來表示一個類繼承了 另一個類   public class Sub extends Base1{ 。。。。 } 如果Sub和Baes1類位於同一個包中: sub繼承base類中的public,protectd和預設訪問級別的成員變數和成員方法。 ----------------------不在同一個包中: ~~~~~~~~~~~~~~不會繼承預設訪問級別的成員變數和成員方法。   Java中不支持多繼承。只允許一個類直接繼承一個類。但是他可以有很多的間接父類。 class Base1 extends Base2{} class Sub extends Base1{}                                                JAVA所有的類都繼承java.lang.Object類 方法重載Overload 對於類的方法(包括從父類中繼承的方法) 方法名相同--方法的參數類型、個數、順序至少有一項不相同。就叫做方法的重載。 另外倆個必須滿足的條件,1-方法的返回類型可以不同 2-方法的修飾符可以不同。   在關鍵字abstract方面,不是抽象類,不能包含抽象方法。 方法的覆蓋Override  為了提高代碼的可重用性,父類的方法應適用於大多數的子類的實現,這樣就可以避免子類中重覆定義相似方法, 但是一小部分的子類在這個方法與父類實現方式不一樣,這個類就必須重新定義。   (1)子類的方法名,參數簽名和返回類型必須一致。 (2)子類方法不能縮小父類方法的訪問許可權。如,父類public,子類就不能是private (3)子類不能拋出比父類更多的異常。 要麼子類方法拋出的異常和父類的相同,要麼多拋出的異常是父類方法拋出的異常的子類。 (4)方法覆蓋只能在子類和父類間,同一個類中只能重載 (5)父類的靜態方法不能被子類覆蓋為非靜態方法。          父類的非靜態方法不能被子類覆蓋為靜態方法。         父類的私有方法不能被子類覆蓋。 (6)子類可以定義與父類的靜態方法同名的靜態方法,以便在子類中隱藏父類的靜態方法。         隱藏父類的靜態方法和子類覆蓋父類的實例方法:      Java虛擬機講靜態方法和所屬的類綁定,而把實例方法和所屬的實例綁定。 (7)父類的私有方法不能被子類覆蓋 。 (8)父類的抽象方法被子類覆蓋 有兩種途徑:      一、子類實現父類的抽象方法     二、子類重新聲明父類的抽象方法。 public abstract class base{   abstract void method1(){}; abstract void method2(){}; } public abstract class sub extends base() {     public void method1(){}//實現method1方法, 並擴大訪問許可權。     public abstract void method2(){};//重新聲明method2方法,僅僅擴大訪問許可權,不 實現。 }   (9)父類的非抽象方法可以被覆蓋為抽象方法.   總結的不完善,希望大家能多給點意見。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 系統來自:系統媽:http://www.xitongma.com 新蘿蔔家園GHOST win7系統32位極速裝機特別版 V2016年3月 系統概述 新蘿蔔家園ghost win7系統32位極速裝機特別版加快“網上鄰居”共用速度;取消不需要的網路服務組件,系統支持Windows安裝,可以在Windo
  • 文件和目錄 命令 選項 註解 示例 文件的基本操作 ls [選項][文件] 顯示所有文件和目錄 ls -al -a(A) 顯示所有文件和目錄,包括隱藏文件和目錄(顯示所有文件和目錄,包括隱藏文件和目錄,但不現實“.”和“..”目錄) 查看當前目錄下的所有文件的詳細信息=ll -l 顯示文件和目錄的完
  • 學習linux時候的基礎,第一部分,常用命令
  • OWIN源碼,Katana project
  • 來源:微信公眾號CodeL 以下是個人學習之路的簡單分享,不足之處歡迎大神們批評指正! 在網站開發的初期,我們沒有考慮更多的東西,也沒有對緩存進行系統的設計,而是直接使用了應用程式緩存對象Cache,但由於系統架構的不斷完善,在分散式系統架構中只依靠Cache明顯不夠,無法實現分散式管理,所以後期我
  • 我們是否可以把從前端接受的JSON字元串轉換成字典集合呢?比如從前端接收:{'size':'10', 'weight':'10kg'}在服務端轉換成:[{size:"10"},{weight:"10kg"}]這樣的字典集合通過Newtonsoft的DeserializeObject<Dictiona
  • 練習教科書第22~25頁單元測試練習,要求自行安裝Visual Studio開發平臺,版本至少在2010以上,要求把程式安裝過程和練習過程寫到博客上,越詳細越好,要圖文並茂,沒有書的同學可以向班內助教同學借閱。 單元測試: 首先新建項目->visual C# 類庫 然後輸入單元測試代碼: 如圖1.1
  • 對於一個企業級項目開發,模塊化是非常重要的。 預設Mvc框架的AreaRegistration對模塊化開發真的支持很好嗎?真的有很多複雜系統在使用預設的分區開發的嗎?我相信大部分asp.net的技術團隊最開始都研究過分區,甚至在實際項目裡面有嘗試運用,但是碰到了種種問題"各種坑",最後回頭是岸放棄了
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...