当前位置: 首页>JAVA>正文

b站黑馬Java就業班筆記P101-P200

b站黑馬Java就業班筆記P101-P200

#Java筆記2

p107

局部變量和成員變量的區別

  1. 局部變量:在方法內部

    成員變量:在方法外部,直接寫在類當中

  2. 局部變量:只有在方法中可以使用,出了方法就不能再用了

    成員變量:整個類中都可以通用

  3. 局部變量:沒有默認值,必須手動賦值

    成員變量:有默認值

  4. 局部變量:棧內存

? 成員變量:堆內存

  1. 局部變量:方法進棧誕生,方法出棧消失

    成員變量:對象創建誕生,對象垃圾回收消失

p108

  1. 封裝性:將細節信息封裝起來,對外界不可見
    • 方法就是封裝
    • private也是封裝(用了private,只有本類可以訪問,超出類了就不能訪問)
    • 間接訪問private變量用getxxx和setxxx。
    • 對于boolean類型,setxxx和isxxx

p112

構造方法

  1. 構造方法的名稱必須和類名稱一樣,大小寫也一樣
  2. 構造方法不需要寫返回值類型,void也不寫
  3. 構造方法不能用return返回具體的值
  4. 如果沒有寫構造方法,編譯器會默認一個構造方法,沒有參數,方法體什么都不做
  5. 一旦寫了構造方法,編譯器就沒有默認的構造方法了

P113

標準類

  1. 所有的成員變量都要用private修飾
  2. 為每一個成員變量寫一個get和set方法
  3. 編寫無參數的構造方法
  4. 編寫全參數的構造方法

自動生成代碼

code---->generate

p114

API:應用程序編程接口。JDK提供的現成的類的說明文檔。

API文檔最應該關注的三點:包路徑、構造方法、方法摘要

P115

引用類型使用

  1. 導包

    • import 包路徑.類名稱
    • 如果目標類和當前類在同一個包下面,可以省略導包
    • 只有java.lang不需要導包,其他的都要導包
  2. 創建

    • 類名稱 對象名=new 類名稱()
  3. 使用

    • 對象名.成員方法名()

P118

匿名對象

  1. 只能使用一次,下次使用只能創建一個新的對象
  2. 如果只使用一次就可以使用匿名對象

P121

Random的nextInt()隨機數為整個int范圍,nextInt(n),左閉右開的區間。(比如n=10,范圍就是0-9)

P128

  1. 如果想要對ArrayList使用基本數據類型,必須使用類型對應的包裝類(包裝類都位于java.lang下面)
    • bye Byte
    • short Short
    • int Integer
    • long Long
    • float Float
    • double Double
    • char Character
    • boolean Boolean
  2. 自動裝箱拆箱,基本類型和包裝類型可以自動轉換

P133

字符串特點:

  1. 字符串內容用于不可變
  2. 字符串可以共享使用(節省內存)
  3. 字符串效果是上是char[]的字符數組,底層是byte[]字符數組

P135

程序中直接寫雙引號的字符串,都是在字符串常量池中的

對于引用類型來說,==比較的是地址

P136

  1. 任何對象都可以用object接收
  2. equals具有對稱性
  3. 一個常量一個變量推薦把常量寫在前面,例如“abc".equals(str)

P137、P138、P139、P140

  1. length
  2. concat
  3. charAt
  4. indexOf
  5. substring
  6. toCharArray
  7. replace
  8. split(方法參數是正則表達式,英文的句號.切割不了,用雙斜杠點切割\\ .)

P145

  1. 使用static修飾成員方法,就成為了靜態方法,靜態方法不屬于對象,屬于類
  2. 如果沒有static關鍵字,必須先創建對象,通過對象才能使用
  3. 有了static關鍵字,不需要創建對象,直接用類名稱就可以使用
  4. 成員變量或是成員方法有了static都推薦使用類名稱進行調用
  5. 靜態只能訪問靜態,不能訪問非靜態(在內存中先有靜態內容,再有非靜態內容)
  6. 靜態方法不能用this(this代表當前對象)
  7. 根據類名稱放問靜態成員變量時和對象沒有關系,只和內存有關系

##P147

  1. 靜態代碼塊當第一次用到本類時,靜態代碼塊執行唯一一次
  2. 靜態內容總是優先于非靜態,靜態代碼塊比構造方法先執行
  3. 典型用途:一次性的對靜態成員變量進行賦值

P148

  1. toString將數組轉化為字符串

  2. 字符串默認是sort升序排列

  3. 如果是自定義類型,必須要compareable或者comparator接口支持

P150

  1. abs(絕對值)
  2. ceil(向上取整)
  3. floor(向下取整)
  4. round(四舍五入)

P152

  1. 面向對象:封裝、繼承、多態
  2. 繼承是多態的前提
  3. 繼承解決共性抽取的問題
  4. 父類(基類、超類)
  5. 子類(派生類)
  6. 子類可以擁有父類的內容
  7. 子類可以擁有自己的專屬內容

P154

1.繼承關系中如果父子成員變量充滿,則創建子類對象訪問時有兩種方法

  • 直接通過子類對象訪問成員變量(等號左邊是誰就優先用誰,沒有就向上找)
  • 簡潔通過成員方法訪問成員變量(該方法屬于誰就用誰的,沒有就向上找)

P155

局部變量:直接寫成員變量名

本類成員變量:this.成員變量名

父類成員變量:super.成員變量名

P156

父子繼承訪問成員方法的規則:創建的對象是誰,就優先用誰,沒有就向上找

成員變量和成員方法都是向上找的

P157、P158

重寫override(覆蓋、覆寫)

  1. 在繼承關系中方法名稱一樣,參數列表也一樣
  2. 重載overload方法名稱一樣,參數列表不一樣
  3. Object類是所有類的公共最高父類
  4. 子類的返回值必須小于等于父類的返回值
  5. 子類方法的權限必須大于等于父類方法的修飾權限(default不是關鍵字)

P160

繼承關系,父子構造方法:

  1. 子類構造方法中默認隱含一個super,先執行父類再執行子類
  2. 子類調用super必須再構造方法的第一句,而且只能用一次super
  3. 子類必須調用父類的構造方法,不寫就用默認的,寫了用自己的

P161

super用法

  1. 在子類的成員方法中訪問父類的成員方法
  2. 在子類成員方法中訪問父類成員變量
  3. 在子類構造方法中訪問父類構造方法

P162

super訪問父類內容,this訪問子類內容。

this作用呢

  1. 在本類成員方法中訪問本類成員變量
  2. 在本類成員方法中訪問本類的另一個成員方法(而不是父類的方法)
  3. 在本類的構造方法中訪問另一個構造方法(this在構造方法中調用也必須是第一個語句。super和this不能同時在構造方法中使用)

P164

Java特點

  1. 單繼承的,只能有一個直接父類
  2. 可以多級繼承
  3. 一個父類可以有很多子類

P166、P167、P168

抽象方法:加上abstract關鍵字,去掉大括號,直接分號

抽象類:抽象方法必須在抽象類,在class之前加上abstract

  1. 不能直接創建抽象類對象
  2. 必須用子類繼承抽象父類
  3. 子類必須覆蓋重寫所有抽象方法
  4. 抽象類中不一定有抽象方法

P171

接口:公共規范標準。符合規范標準就能通用

接口最重要的內容就是其中的抽象方法

接口中可包含的內容:

  • java7 常量、抽象方法
  • java8 默認方法、靜態方法
  • java9 私有方法

P172

  1. 接口中抽象方法,修飾符必須是固定的public abstract
  2. 兩個關鍵字可以選擇性省略
  3. 接口不能直接使用,必須有一個實現類來實現接口
  4. 接口的實現必須覆蓋重寫接口中所有的抽象方法
  5. 創建實現類對象進行使用
  6. 如果實現類沒有覆蓋重寫所有的抽象方法,這個實現自己就必須是抽象類
  7. 不能通過接口實現類的對象來調用接口中的靜態方法,通過接口名稱直接調用靜態方法

P181

  1. 接口也可以使用成員變量,但必須使用public static final三個關鍵字進行修飾
  2. 一旦使用final說明不可改變
  3. 可以省略public static final關鍵字但是省略也是這個意義
  4. 接口中的常量必須賦值
  5. 接口中常量的名稱完全大寫,用下劃線分隔

P183

  1. 接口不能有靜態代碼塊
  2. 接口不能有構造方法
  3. 一個類父類唯一,一個類可以實現多個接口
  4. 如果多個接口存在重復的抽象方法,只覆蓋重寫一次即可
  5. 如果實現類沒有覆蓋重寫接口中的所有抽象方法,則實現類必須是抽象類
  6. 如果實現類實現的接口中有重復的默認方法,必須對沖突的默認方法進行覆蓋重寫
  7. 一個類繼承父類也實現接口了繼承優先于接口實現

P184

  1. 類與類是單繼承的
  2. 類與接口是多實現的,一個類可以實現多個接口
  3. 接口和接口是多繼承的
  4. 多個父接口的抽象方法可以重復
  5. 多個父接口中的默認方法如果重復,必須進行覆蓋重寫,必須帶著default關鍵字

P185

  1. 面向對象特性:封裝、繼承、多態
  2. extends和implements是實現多態的前提

P186

代碼中體現多態性:父類引用指向子類對象

父類名稱 對象名=new 子類名稱();

接口名稱 對象名=new 實現類名稱();

P187

多態訪問成員變量:

  1. 直接通過對象名稱訪問成員變量,看等號左邊是誰就優先用誰,沒有就向上找
  2. 間接用成員方法訪問,看該方法屬于誰就用誰,沒有就向上找

P188

在多態代碼中成員方法訪問規則:

看new的是誰就優先用誰,沒有就向上找

P190

  1. 對象向上轉型是多態的寫法
  2. 向上轉型一定是安全的

P191

對象一旦向上轉型就無法調用子類特有方法(用對象的向下轉型)

子類名稱 對象名=(子類名稱)父類對象

將父類對象還原為子類對象,類似于強制轉換

P192

如何知道一個父類的引用是一個什么類型的子類

格式:對象 instanceof 類名稱

將會得到一個boolean值結果,判斷對象能否當做后面類型的實例

P195

final的常用四種方法

  1. 修飾一個類
  2. 修飾一個方法
  3. 修飾一個局部變量
  4. 修飾一個成員變量

P196-P199

  1. final 修飾一個類的時候,沒有任何的子類
  2. 一個類是final的,其中的所有成員方法都無法進行覆蓋重寫
  3. final修飾成員方法,這個方法就是最終方法,不能被覆蓋重寫
  4. 對于方法來說,abstract和final矛盾
  5. final修飾局部變量,該局部變量不能改變。
  6. 對于成員變量來說,由于成員變量有默認值,用了final之后必須手動賦值,就沒有默認值了
  7. 對于final的成員變量,要么直接賦值,要么通過成員方法賦值。(用構造方法賦值必須保證所有構造方法都能賦值)

P200

java中的四種權限修飾符

? public > protected > default > private

同一個類 Y Y Y Y

同一個包 Y Y Y N

不同包子類 Y Y N N

不同包非子類 Y N N N

https://www.nshth.com/java/326345.html
>

相关文章:

  • 有一個解謎的有外星人的游戲,【Pygame小游戲】 史上最經典的外星人游戲 ,全面保障 勇敢去闖 (未解之謎)
  • 2020年2月編程語言排行榜:Java第一,Python出現下滑!
  • 開一家手機配件店怎么樣,手機配件實體店好做不_震驚!手機實體店,你不得不防的套路!
  • bld設計公司,BLE外設設計
  • 手機如何連接外設,iOS 連接外設的幾種方式
  • 三星手機換電池視頻教程,三星2016換電池教程
  • 機械設計制造畢業設計題目,機械專業夾具類畢業設計題目匯總/組合機床、車床撥叉、飛錘支架、連接座、倒擋撥叉、蓋、法蘭盤、銅襯軸套、心軸零件、曲軸箱零件、托板、發動
  • Shell基礎(四):字符串截取及切割、字符串初值的處理、基使用Shell數組、expect預期交互、使用正則表達式...
  • shell編程入門,shell基礎之04
  • 計算機基礎知識試題及答案(全),計算機序列類型和字典試題,計算機考試試題和資料
  • 新開店鋪怎么做推廣,淘寶新開店鋪沒有生意不會推廣的苦衷與心得
  • 如何注冊商標,給大家科普一下商標小知識沒注冊下來的商標,做吊牌,做包裝袋,發朋友圈廣告時千萬不能打R。將未注冊商標冒充注冊商標使用的,或者使用未注冊商標的,最高
  • 商標繳費后多久初步審核通過,商標注冊需要多久下證
  • 商標買賣,信用百度公司商標信息爬取
  • 商標檢索網站,中國商標網 -爬蟲
  • 應用商店上架app容易么,iOS App 上架App Store及提交審核(Appuploader)
  • app證書失效了怎么辦,iOS證書申請打包上傳App Store審核完整流程(7個步驟)
  • 銀行合并后,10萬億同業存款免繳存準 全面降準將推遲
  • kindle買8g還是32g,萬字長文!對比分析了多款存儲方案,KeeWiDB最終選擇自己來
  • java中的final關鍵字有哪些用法,Java: static,final,代碼塊 的詳解
  • 服務器反應慢及解決辦法,Linux服務器 大量的CLOSE_WAIT、TIME_WAIT解決辦法
  • wait for的用法,oracle for update wait 解析
  • 如何手動關閉close_wait,CLOSE_WAIT和TIME_WAIT
  • 渲染軟件哪個好用,Windows平臺OpenGL渲染視頻
  • 怎樣說代碼讓人聽不懂,RPA初級認證直通車,不懂代碼也能成為技術大佬
  • java快速開發平臺 開源,快上車!Java技術開發大廠直通車馬上啟動!
  • 架構師培訓,Java高級:java架構師成長直通車pan
  • 【淘寶開店教程】淘寶直通車常見問題講解
  • 《java架構師成長直通車》課程階段一學習筆記
  • 視頻教程-Java面試Offer直通車-Java