JAVA 師導課自寫筆記
------------恢復內容開始------------
1.1 包的概述和使用
包其實就是檔案件;
包的格式:package 包名;(多級包用“.”分開)
eg:package com.helloworld;
帶包的Java類編譯和執行
1)手動建包:
手動建包把class檔案移到最裡面帶包執行
2)自動建包:
javac -d.HelloWorld.java (-d 資源管理器--------表示在當前目錄下)
java com.helloworld.Helloword
2 導報的概述和使用
使用不同包下的類時,要寫類的全路徑,為了方便
導包的格式
格式:import 包名;
eg: import helloworld.HEllo
3 修飾符
3.1 許可權修飾符
private 只在本類中可使用(私有)
預設 同一個包中子類無關類
protected 同一個類,同一個包中子類無關類,不同包的子類
public 同一個類,同一個包中子類無關類,不同包的子類 ,不同包的無關類
3.2 狀態修飾符
final 最終態----可修飾成員方法,成員變數,類
特點:修飾方法——表明該方法是最終方法,不能被重寫;
修飾變數——表明該變數是常量,不能再次被賦值;
修飾類——表明該類是最終類,不能被繼承;
修飾區域性變數—— 基本型別變數-資料值不能發生改變;
引用型別-地址值不能改變,但地址裡面內容可以改變;
3.3 Static 靜態----可修飾成員方法,變數 ; 共享
特點: 被類的所有物件共享
可以通過類名呼叫(也可以通過物件名呼叫);
訪問特點
靜態成員方法只能訪問靜態成員;
4 多型(編譯看左邊,執行看右邊)
概述:同一物件在不同時刻表現出來的不同形態
前提和體現:
有繼承/實現關係
有方法重寫
有父類引用指向子類物件 (父類new一個子類物件)
好處和弊端:
提高了程式的擴充套件性——體現在 定義方法的時候,使用父型別作為引數,將來在使用的時候使用具體的子型別參與操作;
不能使用子類的特有功能
多型中的轉型:
1)向上轉型
從子到父
父類引用指向子類物件
2)向下轉型
從父到子
父類引用轉為子類物件
5 抽象類 (abstract)
概述: 在Java中,一個沒有方法體的方法應該定義為抽象方法,而類中如果有抽象方法,該類必須定義為抽象類(抽象方法必須在抽象類-不能建立物件,用多型繼承建立物件);
抽象類裡可以存在非抽象方法,可以沒有抽象方法;
特點:
抽象類和抽象方法必須使用 abstract 關鍵字修飾 eg: public abstract class 類名{}、public abstract void eat ();
抽象類中不一定有抽象方法,有抽象化方法的類一定是抽象類
抽象類不能例項化,需參照多型的方式,通過子類物件例項化,這叫抽象類多型
抽象類的子類——要麼重寫抽象類的所有抽象方法,要麼是抽象類
抽象類的成員特點
成員變數——可以是變數也可以是常量
構造方法——有構造方法,但是不能例項化,構造方法的作用是用於子類訪問父類資料的初始化;
成員方法——可以有抽象方法,限定子類必須完成某些動作,也可以有非抽象方法,提高程式碼複用性;
6 介面(抽象,不能被例項化)
描述:介面就是一種公共的規範標準,只要符合規範標準,大家都可以通用;
JAVA 中的介面更多的體現在對行為的抽象;
介面的呼叫方法類一般是—— 介面名+Impl(class類)
特點:
1.介面用關鍵字 interface 修飾 eg: public interface 介面名 {}
2.類實現介面用implements(實現)表示 eg: public class類名 implements 介面名 {}
3.介面不能例項化——參照多型的方式,通過實現類物件例項化(介面多型)
多型的形式:具體類多型(幾乎不用),抽象類多型,介面多型。
多型的前提:有繼承或者實現關係;有方法重寫;有父(類/介面)引用指向(子/實現)類物件
4.介面的實現類 要麼重寫介面中的抽象方法
要麼是抽象類(+abstract)
------------恢復內容結束------------