1. 程式人生 > >Java面向對象(上)

Java面向對象(上)

get 分配內存 方法名 對象分配 一次 類型 在一起 方法 一定的

一.面向對象的概念
  1.面向過程
    分析解決問題所需的步驟,然後用函數把這些步驟一一實現,使用的時候一個一個依次調用
  2.面向對象
    把解決的問題按照一定的規則劃分成多個獨立的對象,退過調用對象的方法來解決問題,通過多個對象的配合來實現程序的功能

二.類與對象
  1.類的概念
    用來描述一組對象的共同特征和行為,是對象的藍圖
  2.類的介紹
  類中包含成員變量與成員方法
  (1)成員變量
    用於描述對象的特征,也被稱為屬性,寫在方法體外面,分為靜態變量(類變量)用static修飾和實例變量不用static修飾
  (2)成員方法
    用於描述對象的行為,也被稱為方法,包含方法體與局部變量。局部變量可與成員變量同名。
  3.對象的創建與使用


  (1)創建對象
    類名 對象名; //創建應用變量
    new Person(); //實例化一個類
    對象名=new Person(); //創建鏈接
    *連在一起就是:
    類名 對象名=new 類名();
    如:Person pr=new Person();
    *對象是放在垃圾回收對象的,當沒有任何變量引用這個對象時它將成為垃圾對象被回收
  (2)方法和屬性的調用
    對象引用.方法名()或.屬性;
    如:pr.ag;
    pr.print();
  4.類的封裝

  (1)概念
    是將類的某些信息隱藏在類的內部,不允許外部程序直接訪問,而是通過該類提供的方法來實現對隱藏信息的操作和訪問。
  (2)好處
    只能通過規定方法訪問數據、隱藏類的實現細節、方便加入控制語句、方便修改實現
  (3)使用
    用private來修飾所要封裝的方法和屬性
    通過設置器 setXXX()和訪問器 getXXX()來修改和訪問,設置器和訪問器不能用private修飾

三.構造方法
  1.定義
    方法名與類名相同,方法名前面沒有返回值類型的聲明,方法中不能用return返回一個值
  2.作用

  

    僅用於初始化對象,如果自己不定義系統會自定義一個無參的構造方法,一旦自己定義系統不會在自定義了
  3.構造方法的重載
    一個類中可以定義多個構造方法,但方法的參數類型或參數個數不同即可

四.this和static關鍵字
  1.this用法
  (1)通過this.成員變量,可以去訪問一個類的成員變量,解決與局部變量名字沖突的問題
  (2)通過this調用成員方法
  (3)通過this()來調用其他構造方法
  (4)this本類當中的對象(不常用)
  2.static
    被static修飾的隨類的加載爾創建,且只能創建一次,非靜態方法可以調用靜態變量,靜態方法不能調用實例變量
    在定義一個類時並不會產生具體數據,只有用new關鍵字實例化一個對象時,系統才會為該對象分配內存空間

  (1)靜態變量
    有時候我們希望某些特定的數據在內存中只有一份,且能被每個對象所共享我們需要靜態
    變量即用static修飾的成員變量不能用於修飾局部變量

  (2)靜態方法
    不需要創建對象就可以調用的方法,用static修飾的方法
  (3)靜態代碼塊
    static{}

五.內部類
  1.成員內部類
    他可以訪問外部類的屬性和方法,
    外部類名.內部類名 變量名=new 外部類名().new 內部類名();

  2.靜態內部類

    用static修飾一個成員內部類,他可以在不創建外部類對象時被實例化

  3.方法內部類

    只能在當前方法中使用

Java面向對象(上)