這里有我之前上課總結的一些知識點以及代碼大部分是老師講的筆記 個人認為是非常好的,,也是比較經典的內容,真誠的希望這些對于那些想學習的人有所幫助!
由于代碼是分模塊的上傳非常的不便。也比較多,講的也是比較清晰的!如果你有需要可以在評論中留下您的郵箱我看到一定會免費發給你的!感謝這個平臺讓我們大家共同進步吧!! 記住 程序員是無私的!!!
也非常歡迎到我的博客內觀看 博客地址:http://m.survivalescaperooms.com/duscl/
/*1:形式參數和返回值的問題(理解) (1)形式參數: 類名:需要該類的對象 抽象類名:需要該類的子類對象 接口名:需要該接口的實現類對象 (2)返回值類型: 類名:返回的是該類的對象 抽象類名:返回的是該類的子類對象 接口名:返回的是該接口的實現類的對象 (3)鏈式編程 對象.方法1().方法2().......方法n(); 這種用法:其實在方法1()調用完畢后,應該一個對象; 方法2()調用完畢后,應該返回一個對象。 方法n()調用完畢后,可能是對象,也可以不是對象。2:包(理解) (1)其實就是文件夾 (2)作用: A:區分同名的類 B:對類進行分類管理 a:按照功能分 b:按照模塊分 (3)包的定義(掌握) package 包名; 多級包用.分開。 (4)注意事項:(掌握) A:package語句必須在文件中的第一條有效語句 B:在一個java文件中,只能有一個package C:如果沒有package,默認就是無包名 (5)帶包的編譯和運行 A:手動式 B:自動式(掌握) javac -d . HelloWorld.java 3:導包(掌握) (1)我們多次使用一個帶包的類,非常的麻煩,這個時候,Java就提供了一個關鍵字import。 (2)格式: import 包名...類名; 另一種: import 包名...*;(不建議) (3)package,import,class的順序 package > import > class 4:權限修飾符(掌握) (1)權限修飾符 本類 同一個包下 不同包下的子類 不同包下的無關類 PRivate Y 默認 Y Y protected Y Y Y public Y Y Y Y (2)這四種權限修飾符在任意時刻只能出現一種。 public class Demo {} 5:常見的修飾符(理解) (1)分類: 權限修飾符:private,默認,protected,public 狀態修飾符:static,final 抽象修飾符:abstract (2)常見的類及其組成的修飾 類: 默認,public,final,abstract 常用的:public 成員變量: private,默認,protected,public,static,final 常用的:private 構造方法: private,默認,protected,public 常用的:public 成員方法: private,默認,protected,public,static,final,abstract 常用的:public (3)另外比較常見的: public static final int X = 10; public static void show() {} public final void show() {} public abstract void show();6:內部類(理解) (1)把類定義在另一個類的內部,該類就被稱為內部類。 舉例:把類B定義在類A中,類B就被稱為內部類。 (2)內部類的訪問規則 A:可以直接訪問外部類的成員,包括私有 B:外部類要想訪問內部類成員,必須創建對象 (3)內部類的分類 A:成員內部類 B:局部內部類 (4)成員內部類 A:private 為了數據的安全性 B:static 為了訪問的方便性 成員內部類不是靜態的: 外部類名.內部類名 對象名 = new 外部類名.new 內部類名(); 成員內部類是靜態的: 外部類名.內部類名 對象名 = new 外部類名.內部類名(); (5)成員內部類的面試題(填空) 30,20,10 class Outer { public int num = 10; class Inner { public int num = 20; public viod show() { int num = 30; System.out.println(num); System.out.println(this.num); System.out.println(Outer.this.num); } } } (6)局部內部類 A:局部內部類訪問局部變量必須加final修飾。 B:為什么呢? 因為局部變量使用完畢就消失,而堆內存的數據并不會立即消失。 所以,堆內存還是用該變量,而改變量已經沒有了。 為了讓該值還存在,就加final修飾。 通過反編譯工具我們看到了,加入final后,堆內存直接存儲的是值,而不是變量名。 (7)匿名內部類(掌握) A:是局部內部類的簡化形式 B:前提 存在一個類或者接口 C:格式: new 類名或者接口名() { 重寫方法; } D:本質: 其實是繼承該類或者實現接口的子類匿名對象 (8)匿名內部類在開發中的使用 我們在開發的時候,會看到抽象類,或者接口作為參數。 而這個時候,我們知道實際需要的是一個子類對象。 如果該方法僅僅調用一次,我們就可以使用匿名內部類的格式簡化。 interface Person { public abstract void study(); } class PersonDemo { public void method(Person p) { p.study(); } } class PersonTest { public static void main(String[] args) { PersonDemo pd = new PersonDemo(); pd.method(new Person() { public void study() { System.out.println("好好學習,天天向上"); } }); } } (9)匿名內部類的面試題(補齊代碼) interface Inter { void show(); } class Outer { //補齊代碼 public static Inter method() { return new Inter() { public void show() { System.out.println("HelloWorld"); } }; } } class OuterDemo { public static void main(String[] args) { Outer.method().show(); //"HelloWorld" } }*/
新聞熱點
疑難解答