Java基礎學習筆記(二) - 面向對象基礎

  • 2019 年 10 月 7 日
  • 筆記

面向對象

一、面向對象概述  

  面向對象思想就是在電腦程式設計過程中,參照現實事物,將事物的屬性特徵、行為特徵抽象出來,描述成電腦時間的設計思想。面向對象思想區別於面向過程思想,強調的是通過調用對象的行為來實現功能,而不是自己一步一步的去操作實現。

  特點:將複雜的事情簡單化,抽象化。

  三大基本特徵:封裝,繼承,多態。(後面具體介紹)

  類和對象:類是屬性(成員變數)和行為(成員方法)的集合,對象是類的一個實例。

public class oop {      int a; //a是一個成員屬性    成員屬性位於類中方法外      public void method(){          System.out.println("這是一個成員方法");      }  }

 

public class TestOop {      public static void main(String[] args){          oop oop1 = new oop();//實例化oop類為oop1對象          oop1.a = 1;//為成員屬性賦值          oop1.method();//調用成員方法        }  }

  關於static靜態關鍵字:用來修飾靜態變數或方法。靜態變數由於不屬於任何實例對象,是屬於類的,所以在記憶體中只會有一份,在類的載入過程中,JVM為靜態變數分配一次記憶體空間。

  成員變數默認類型:

 

 

   記憶體:實例化的過程在棧記憶體中,實例化的對象存在於堆記憶體中,同時調用多個對象的方法時如果指向的是同一方法,方法只會保存一次,以節約記憶體空間。

  成員變數和局部變數:

  • 成員變數:位於類中方法外(堆記憶體),作用域類中,初始化時有默認值,實例化對象時生成,對象消失成員變數消失。
  • 局部變數:位於類方法中(棧記憶體),作用域方法中,無默認值,必須先定義賦值,才能使用,調用方法時生成,方法調用完畢消失。 

二、封裝  

  封裝會保護類中的成員屬性,外部無法操作和修改,防止該類的程式碼和數據被其他類隨意訪問。必須通過指定的方式才能訪問。

  作用:適當的封裝可以讓程式碼更容易理解和維護,也加強了程式碼的安全性。

  原則:保護成員屬性,外部無法訪問,若需訪問,提供公共方法對其訪問。

  封裝步驟:

    • 使用private關鍵字來修飾成員變數。(private是一個許可權修飾符,表示最小許可權,用來修飾成員變數和成員方法,被private修飾後的成員變數和成員方法,只有在本類中才能訪問。)
    • 若需訪問成員變數,提供相應類方法。

  void關鍵字表示方法返回結果類型。(無return時寫void)

  this關鍵字表示類的當前對象的引用。

  構造方法:當一個對象被創建時,構造方法用來初始化該對象,給對象的成員變數賦值初始值。 (構造方法可以被重載)

public class oop {      private int a; //a是一個私有成員變數        //構造方法      public oop(){};//原始構造方法(系統提供)      public oop(int a){//帶參數構造方法(如果提供了構造方法,系統將不再提供無參構造方法)          this.a = a;      }        public int getA(){ //通過getA成員方法訪問a          return a;      }      public void setA(int n) { //通過setA成員方法修改a          a = n;        }  }

 

  標準程式碼--JavaBean:是Java編寫類的一種標準規範。要求類必須是具體的和公共的,並且具有無參構造方法,提供用來操作成員變數的set和get方法。

public class oop {      //成員變數      //構造方法      //無參(必須)      //有參(非必須)      //成員方法      //get      //set  }

 

溫馨提示

  • 如果您對本文有疑問,請在評論部分留言,我會在最短時間回復。
  • 如果本文幫助了您,也請評論關注,作為對我的一份鼓勵。
  • 如果您感覺我寫的有問題,也請批評指正,我會盡量修改。
  

 

Tags: