日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

疯狂java讲义

發布時間:2023/12/9 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 疯狂java讲义 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

封裝:

  • 封裝:將對象狀態信息隱藏在對象內部,不允許外部程序直接訪問對象內部信息,而是用類所提供的方法訪問和操作。
  • 訪問控制符:private(當前類訪問權) ,protected(子類訪問),public(公共訪問),default(包訪問)
  • set(),get()
  • 構造器重載,名字相同 ,形參不同。
  • 構造器中調用另一個構造器用this();必須出現在構造器第一行。
  • 方法重載:名字相同,形參不同。與返回值,修飾符無關。

繼承:

  • 繼承:每個子類只有一個直接父類,extends。
  • 默認繼承java.lang.Object,是所有類的父類。
  • 子類可以重寫父類方法。方法重寫。兩同兩小一大:方法名同,形參同,返回值小,異常小,子類訪問權限大。
  • 子類覆蓋后子類對象不可調用父類方法,但可在子類方法中調用,super(實例方法),父類類名(類方法)來調用。
  • 如果父類private,那方法對子類隱藏,子類無法調用,無法重寫。
  • super:也可用來訪問父類被覆蓋的實例變量。
  • 會為所有實例變量分配內存。(被覆蓋了也分配)
  • 子類也可以用super調用父類構造器。
  • 子類沒有super調用父類構造器,系統會在執行子類構造器之前調用父類構造器。
  • 父類構造器在子類構造器之前進行,還會上溯,最先執行的總是java.lang.Object構造器。

繼承注意點:子類可以訪問父類成員變量和方法,不安全

  • 盡量隱藏父類內部數據,private
  • 不讓子類隨便訪問,修改父類方法,不能訪問private.如果希望訪問不讓重寫,用final public,可以被子類重寫不能被外部訪問用protected.
  • 盡量不在父類構造器中調用被子類重寫的方法。

多態:編譯時類型和運行時類型不同,相同類型的變量調用同一個方法呈現多種不同行為特征。

  • 編譯時類型:聲明該變量時的類型。
  • 運行時類型:實際賦給該變量的對象。
  • 子類對象賦給父類引用變量——向上轉型,系統自動完成。
  • 父類對象賦給子類引用變量——強制類型轉換,instanceof判斷更安全,否則ClassCastException
  • 最終類不能被繼承:1.用final修飾類,2.用private修飾類的所有構造器,子類無法調用,就無法繼承。
  • 組合復用。

初始化塊:

  • 可有修飾符static。初始化塊按順序進行。
  • 創建對象時,先調用類里的初始化塊再執行構造器。
  • 初始化塊是構造器補充,在構造器前執行。
  • 但是不能接受任何參數,對所有對象初始化相同。

?

?

  • ==和equals:引用變量用==時,只有他們指向同一個對象才true。==兩邊沒有父子關系的兩個對象會編譯錯誤。
  • “hello”直接量存在常量池,new String ("hello")Jvm會用常量池保存"hello",在調用String類構造器創建一個新對象,保存在堆內存中。所以不相等。
  • 值相等用str1.equals(str2);

?

?

  • 類成員,類方法,即使實例是Null也可以訪問類成員,null訪問實例成員會引發NullPointerException。
  • 靜態初始化塊也是類成員,類初始化時調用,之后不再執行,
  • 類成員不能訪問實例變量。

?

  • 單例類:一個類只能創建一個實例。構造器private。提供一個public 方法作為訪問點,用于創建對象,且是public static.且類還必須緩存已經創建的對象。用一個成員變量來保存曾創建的對象,要被靜態方法訪問,必須也static.
  • 只能創建一個對象,再多引用所指的都相等。
  • final:
  • 修飾變量,該變量一旦有初始值就不可改變,final修飾的成員變量必須顯示指定初始值,系統不會對final成員隱形初始化,final修飾局部變量,修飾形參
  • final修飾引用變量,final保證指向的對象不變,但對象內容可以改變。
  • final修飾變量,宏定義,定義final時就為變量指定初始值,在編譯時確定,final變量實際是宏變量。
  • 修飾方法,不可被子類重寫。但可以被類內重載
  • 修飾類:不可以有子類,不可被繼承、

?

  • 不可變類:創建該類實例后,該實例實例變量不可改變。
  • 規則:1.用private和final修飾該類成員變量? ?2.提供帶參數構造器,傳入參數來初始化。? 3.只為該類成員提供getter().不能setter()

?抽象:

  • 抽象方法,抽象類:abstract。
  • 抽象方法不能有方法體,抽象類不能被實例化,不能new.這個類只能被繼承。
  • 抽象方法沒有方法體,必須被子類重寫。
  • final與abstract不能同時用。static和abstract也不能同時修飾同個方法。
  • 抽象類只定義某些方法,把不能實現的部分抽象成抽象方法,留給子類實現。

?

轉載于:https://www.cnblogs.com/Aozorazy/p/10444636.html

總結

以上是生活随笔為你收集整理的疯狂java讲义的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。