1. 程式人生 > >Java三大特點

Java三大特點

封裝

1.封裝又叫隱藏實現,隱藏屬性、方法和方法實現過程,一般是將成員屬性私有化,並對外提供setget方法
2.許可權修飾符:private(本類訪問) < default(同包訪問) < protected(不同包的子類訪問) <public(不同類訪問)
3.關聯(聚合(set方法修改名稱)、組合(構造方法傳遞名稱))、依賴(方法引數、方法返回值)
4.練習題:
    1.Calendar日曆類用法
    2.定義紙牌類,分別為A、2-10、J、Q、K,四種花色、大小王;定義一個遊戲類,其中有一個撲克,共52張牌,隨機洗牌;定義玩家類,每個玩家可以發到13
張牌,建立4個玩家物件,列印他們手中的牌 3.定義賬戶類 屬性:帳號、密碼、餘額 功能:存錢、取錢 定義使用者類,屬性: 屬性:姓名、年齡、賬戶 實現使用者賬號密碼登入,登入後可以看到使用者資訊,存錢取錢功能 4.定義一個圓類,屬性半徑r,常量PI,計算面積;使用圓定義一個圓柱體,屬性高h,計算體積 5.猜拳遊戲:有兩個選手,然後由裁判進行判定並記錄勝負,三局兩勝;遊戲流程:裁判入場,兩名選手入場,開始出拳,判斷輸贏,勝利兩局後,宣佈結果並且遊戲結束 6.隨機數 Math.random
(); Random.nextInt(); Sysotem.currentTime%10; 7.某商店採用會員制管理,會員購買產品時,向收銀員提供自己的會員卡和所購買的商品,收銀員驗證會員卡合法後,將商品記錄到商品銷售表中,並將總金額作為會員積分計入會員檔案中

繼承

1.可以繼承父類非private修飾的成員屬性和成員方法,不能繼承父類的構造方法,但是能通過super()呼叫
2.面試題:呼叫順序:父類靜態程式碼塊 → 子類靜態程式碼塊 → 父類程式碼塊 → 父類構造方法 → 子類程式碼塊 → 子類構造方法

super

1
.區分變數 2.找變數(就近原則):區域性變數→成員變數→父類變數 3.找方法:先子類後父類 4.呼叫構造方法super()

Object

1.常用方法:equals、HashCode、clone、toString、getClass、wait、notify會用就行

重寫

1.在繼承關係中,返回型別,方法名、引數列表必須完全一致,子類的許可權必須大於父類
2.父類私有方法,final修飾的方法,構造方法不能被重寫
3.重寫發生在子父類中,過載發生在類中
4.實際中,抽象方法才需要重寫

抽象類

1.大多數用來建模,最早提出的概念
2.抽象類不能被例項化,格式:abstract class 類名{}
3.抽象類比普通類多了抽象方法而已,而且抽象方法可有可無
4.子類重寫父類全部抽象方法就可以被例項化,重寫部分抽象方法還是抽象類不能被例項化

多型

1.條件:繼承、重寫,父類的引用指向子類的物件,多型可以出現在方法返回值、方法引數
2.只有方法有多型性
3.只能呼叫父類的成員屬性和未被重寫的方法,以及子類重寫父類的方法
4.instanceof二元運算子,判斷左邊物件是不是右邊類或者子類的例項
        常見用法:向下轉型
            Pet pet = new Cat();
            Cat cat = null;
            if(pet instanceof Cat){//這個動物(貓轉過來的)是不是貓(true)
                cat = (Cat)pet;
        }else{
                sysotem.out.println("不能向下轉型");
        }
5.小練習:使用Java實現文字RPG遊戲

介面

1.只能包含抽象方法(預設public abstract) 和 常量(預設public static final),不允許有普通方法和構造方法
2.實際開發中,一般只有介面回撥才需要自定義介面
3.介面與抽象類寫法基本一致,抽象類是根據型別分(is a),介面根據功能分(has a)
4.介面命名規則:I開頭或者able結尾
5.觀察者模式
6.介面、實現者、呼叫者