作業06 介面 內部類

2022-05-09 06:27:11 字數 1810 閱讀 5392

內部類:

匿名類:

lambada表示式:不能成功,會報錯說clone方法對employee不可見。因為clone方法修飾限定為protected,只有本包或者子類可以訪問,修改將clone方法限定為public。

因為object類可以是任何乙個類的父類,而如果clone方法被宣告為public,那麼任何實現了cloneable介面並且實現clone方法的類都可以隨便轉殖乙個object物件,這樣會存在資訊保安問題,而如果將clone方法宣告為protected,只允許本包或者子類訪問就會相對安全一些,自定義類也可以根據需要將clone方法改為public。

匿名內部類:

lambda表示式:

comparatorshapecomparator = new comparator() };

shapecomparator所指向的物件實現了comparator介面。

實驗總結:

好處:實驗總結:

自定義介面的好處:實驗總結:

回答問題:實現總結:

使用collections.sort對引用型別陣列進行排序需要乙個前提條件是:該引用型別陣列實現comparable或者comparator介面,並且實現其中的comparato方法。參考case-studentdao.zip案例

假設在不同的實現中,購物車裡的商品有的是存放在arraylist,有的是存放在陣列中。

結對物件:謝晗

本人使用列表實現介面:

執行結果如下:

定義介面的好處:

該函式的功能是將person陣列中的元素根據年齡公升序的方式排序之後輸出。

不行,因為雖然子類可以繼承父類中非private的方法和屬性,但是不會繼承父類的構造器,必須通過super關鍵字繼承父類的有參建構函式。如果不使用super則需要將引數改為自己的私有屬性,並且使用this關鍵字構造屬於自己的函式。

這個**重寫函式和過載體現了多型。重寫:子類對父類中的函式重新修改,方法名相同,引數列表也相同。過載:多個類中方法名相同,但是引數列表不同。

重寫:過載:各個類中的tostring()方法

周次總**量

新增**量

總檔案數

新增檔案數10

0002

0000

3000

0400

0050

0006

939939

1717

71809

87028

11

8 介面和內部類

1.定義介面裡面的方法只能是抽象方法 預設抽象方法 且沒有方法體。預設都是public abstract 2.乙個類可以實現多個介面 多繼承效果 3.多個類可以實現同乙個介面 4.介面裡面不能有建構函式,而且不能例項化。5實現乙個介面必須實現裡面所有的方法。6.介面裡面必須進行賦值例項,如int 1...

類小結3 介面 內部類

內部類提供了更好的封裝,把內部類隱藏到外部類之內,不允許同乙個包中的其他類訪問該類,也可以使用private將內部類隱藏起來 定義為static的內部類稱為靜態內部類 非靜態內部類不能宣告static成員,只有靜態的內部類可以宣告static成員,且可以訪問外部類的靜態成員或靜態方法,內部類可以直接...

作業 編寫登陸介面

需求 編寫登陸介面 使用者輸入帳號密碼進行登陸 使用者資訊儲存在檔案內 使用者密碼輸入錯誤三次後鎖定使用者 待改進 username password這裡應該 輸入判定 不能為空不能亂碼之類的 不漂亮 不具備現實可操性 import sys while1 count 0username input ...