面向對象思想
- 面向過程
- 面向對象
- 找到對象(第一步 第二步)
- 封裝到對象中 由對象來實現第一步 第二步
- 舉例
- 面向對象思想特點
- 1 是一種更符合我們思想習慣的思想
- 2 可以將複雜的事情簡單化
- 3 將我們從執行都變成了指揮者
- 4 就是將過程封裝下 直接面向對象
- 面向對象的開發
- 面向對象的設計
- 面向對象的特徵
類與對象概述
- java中最基本的單位是類 java中用class描述事物也是如此
-
- 成員變量:和以前定義的局部變量(方法中)是不一樣的 在類中 方法外
- 類和對象的概念
- 類 是一組相關屬性和行爲的集合
- 對象 是類事物的具體體現 也可以說是類的實例
- 舉例
學生類的定義
成員變量和局部變量的區別
- A在類中的位置不同
- 成員變量:在類的方法外
- 局部變量:在方法的聲明上或者方法定義中
- B在內存中的位置不同
- 成員變量:在堆內存中(成員變量屬於對象 對象進堆內存)
- 局部變量:在棧內存中(局部變量屬於方法 方法進棧內存)
- C生命週期不同
- 成員變量:隨着對象的創建而存在 隨着對象的消失而消失
- 局部變量:隨着方法的調用而存在 隨着方法的調用完畢而消失
- D初始化值不同
- 成員變量:成員變量有初始化的值
- 局部變量:沒有默認的初始化 必須定義 賦值 才能使用
- 注意事項:
- 局部變量名稱可以和成員變量的名稱一樣 在方法中使用的時候 就近原則
- 基本數據類型: 整數類型,byte short int long 浮點類型,float double 字符類型,char 布爾類型:boolean
- 引用數據類型:數組 類 接口 枚舉
匿名對象
- 匿名格式
- 匿名對象調用方法格式
- 匿名對象 適用於一次創建一次使用,多次使用不適合
- 匿名對象 可以作爲方法的參數
封裝的概述
- A封裝概述
- 隱藏對象的屬性和實現的細節 僅對外提供公共訪問方式
- B封裝好處
- 隱藏實現細節 提供公共的訪問方式
- 提高代碼的複用性
- 提高安全性
- C封裝原則
- 將不需對外提供的內容都隱藏起來
- 把屬性隱藏 提供公共方法對其訪問
private關鍵字概述和特別、
- 1 private關鍵字特點
- 是一個權限修飾符
- 可以修改成員變量 和 成員方法
- 被修改的成員 只能在本類中被訪問
- 2安全演示
this關鍵字
- 1,this關鍵字特點
- 2,案例演示
- this的應用場景
- 用來區分 成員變量 和 局部變量重名
- public void setAge(int age){ this.age = age;}
手機類代碼及其測試
class Test{
public static void main(String[] args){
Phone p1 = new Phone();
p1.setBrand("小米");
p1.setPrice(5555);
System.out.println(p1.getBrand()+" " +p1.getPrice());
p1.call();
p1.sendMessage();
p1.playGame();
}
}
/*
手機類
屬性:品牌brand 價格price
行爲:打電話call 發短信sendMessage 玩遊戲playGame()
*/
class Phone{
//屬性私有 提供set和get方法
private String brand;
private int price;
//設置品牌 參數 String
public void setBrand(String brand){
this.brand = brand;
}
//獲取品牌 返回類型 String
public String getBrand(){
return this.brand;//this.可以省略
}
//設置價格 參數 int price
public void setPrice(int price){
this.price = price;
}
//獲取價格
public int getPrice(){
return price;
}
//成員方法 打電話 call
public void call(){
System.out.println("打電話");
}
//發短信
public void sendMessage(){
System.out.println("發短信");
}
//玩遊戲
public void playGame(){
System.out.println("玩遊戲 ");
}
}