△abstract不可以修飾成員變數 △一個類可以沒有抽象方法,可以定義為抽象類,這樣的目的是不能讓其他類建立本類對象,交給子類完成. △abstract和static(可以被類名調用方法,但是抽象方法調用沒有意義)final(不能被覆蓋方法)private(私有方法無法覆蓋) △介面只能被實現.被 ...
△abstract不可以修飾成員變數 △一個類可以沒有抽象方法,可以定義為抽象類,這樣的目的是不能讓其他類建立本類對象,交給子類完成. △abstract和static(可以被類名調用方法,但是抽象方法調用沒有意義)final(不能被覆蓋方法)private(私有方法無法覆蓋) △介面只能被實現.被用介面去繼承或者用類或者抽象類去實現 △介面中定義的變數全部是常量.關鍵修飾符為Public static final.介面中沒有構造方法,實現介面的類構造方法訪問的是object,介面中的方法是Public,因此實現需要註意一定是public △介面可以沒有需要實現的方法. △介面與類是實現關係,介面與介面之間是繼承關係,可以多繼承. △抽象類:被繼承體現的是is a關係.定義了共性的功能 介面是like a關係,定義的是擴展功能 △ javac-d<my_dir> Myprogram.java:就是將Myprogram.java程式里產生的 .class 文件放在 my_dir 目錄里,用於生成類文件的包..可以javac -d .Myprogram.java.(當前路徑下生成類文件的包) △import導入*,代表代表通配符,它會在包下挨個匹配,找到後就導入. △ 訪問許可權: 本類 同一包內的子類和無關類 不同包下的子類 不同包下的無關類 private Y N N N default Y Y N N protected Y Y Y N public Y Y Y Y △內部類: Outer.Inner oi=new Outer().new Inner(); 內部類可以直接訪問外部類的私有成員. 靜態內部類: Outer.Inner oi=new Outer.Inner(); 方法中的局部內部類訪問局部變數局部變數必須要加final修飾.因為當調用這個方法的時候,局部變數如果沒有被final所修飾的話,他的生命周期應當和方法的生命周期是一樣的,方法彈棧的時候,局部變數將會消失,這時候如果局部內部類沒有被回收走,想要去使用這個方法的時候,就會產生問題. △匿名內部類只有重寫單個方法的時候使用. △當內部類是成員的時候,要再主函數中訪問它,必須要加static △當重寫equals方法時,註意參數是Object,否則就不是重寫而是重載了. △equals與==的區別:equal只能對於引用數據類型進行比較,但是==號能對引用數據類型和基本數據類型都進行比較,equals底層依賴的就是==,一般需要重寫equals方法. △Scanner hasnextInt()判斷接下來的數是否是整數,判斷後,在調用nextInt():獲取輸入的整數,.標準格式如下: if(i.hasnextInt()) { int x=i.nextInt(); } 當nextInt()和nextLine()作組合的時候,nextInt()在前面的時候,nextInt()獲取整數後,不會再獲取回車符,因此會被nextLine()所獲取而得知該行已結束,因此不會再輸出其他內容. 解決方案1:創建兩次Scanner對象2.都用nextLine()方法,隨後在轉換為整數.