Java基礎班學習筆記(7)

來源:互聯網
上載者:User

標籤:

1:成員變數和局部變數的區別(理解) (1)在類中的位置不同  成員變數:類中方法外  局部變數:方法定義中或者方法聲明上 (2)在記憶體中的位置不同  成員變數:在堆中  局部變數:在棧中 (3)生命週期不同  成員變數:隨著對象的建立而存在,隨著對象的消失而消失  局部變數:隨著方法的調用而存在,隨著方法的調用完畢而消失 (4)初始化值不同  成員變數:有預設值  局部變數:沒有預設值,必須定義,賦值,然後才能使用  注意事項:   局部變數名稱可以和成員變數名稱一樣,在方法中使用的時候,採用的是就近原則。 2:類作為形式參數的問題?(理解) (1)如果你看到一個方法需要的參數是一個類名,就應該知道這裡實際需要的是一個具體的對象。  3:匿名對象(理解) (1)沒有名字的對象 (2)應用情境  A:調用方法,僅僅只調用一次的時候。   注意:調用多次的時候,不適合。   那麼,這種匿名調用有什麼好處嗎?    有,匿名對象調用完畢就是垃圾。可以被記憶體回收行程回收。  B:匿名對象可以作為實際參數傳遞 4:封裝(理解) (1)封裝概述:指隱藏對象的屬性和實現細節,僅對外提供公用訪問方式。 (2)好處:  A:隱藏實現細節,提供公用的訪問方式  B:提高代碼的複用性  C:提高代碼的安全性 (3)設計原則  把不想讓外界知道的實現細節給隱藏起來,提供公用的訪問方式  把屬性隱藏,提供公用方法對其訪問。 (4)private是封裝的一種體現。  封裝:類,方法,private修飾成員變數  5:private關鍵字(掌握) (1)私人的意義,可以修飾成員變數和成員方法 (2)特點:  被private修飾的後的成員只能在本類中被訪問 (3)private的應用:  以後再寫一個類的時候:   把所有的成員變數給private了   提供對應的getXxx()/setXxx()方法  6:this關鍵字(掌握) (1)代表當前類的引用對象  記住:哪個對象調用方法,該方法內部的this就代表那個對象 (2)this的應用情境:  A:解決了局部變數隱藏成員變數的問題  B:其實this還有其他的應用,明天講解。  7:構造方法(掌握) (1)作用:用於對對象的資料進行初始化 (2)格式:  A:方法名和類名相同  B:沒有傳回值類型,連void都不能有  C:沒有傳回值    思考題:構造方法中可不可以有return語句呢?   可以。而是我們寫成這個樣子就OK了:return;   其實,在任何的void類型的方法的最後你都可以寫上:return; (3)構造方法的注意事項  A:如果我們沒寫構造方法,系統將提供一個預設的無參構造方法  B:如果我們給出了構造方法,系統將不再提供預設構造方法   如果這個時候,我們要使用無參構造方法,就必須自己給出。   推薦:永遠手動自己給出無參構造方法。 (4)給成員變數賦值的方式  A:setXxx()  B:帶參構造方法 (5)標準案例  class Student {   private String name;   private int age;      public Student(){}      public Student(String name,int age) {    this.name = name;    this.age = age;   }      public String getName() {    return name;   }      public void setName(String name) {    this.name = name;   }      public int getAge() {    return age;   }      public void setAge(int age) {    this.age = age;   }  }   測試:  class StudentDemo {   public static void main(String[] args) {    //方式1    Student s1 = new Student();    s1.setName("林青霞");    s1.setAge(27);    System.out.println(s1.getName()+"---"+s1.getAge());       //方式2    Student s2 = new Student("劉意",30);    System.out.println(s2.getName()+"---"+s2.getAge());   }  }   8:代碼:Student s = new Student();做了哪些事情?(理解) (1)把Student.class檔案載入到記憶體 (2)在棧記憶體為s開闢空間 (3)在堆記憶體為學生對象申請空間 (4)給學生的成員變數進行預設初始化。null,0 (5)給學生的成員變數進行顯示初始化。林青霞,27 (6)通過構造方法給成員變數進行初始化。劉意,30 (7)物件建構完畢,把地址賦值給s變數  9:物件導向的練習題(掌握) (1)標準的手機類的定義和測試 (2)Demo類有求和方法,Test類進行測試。  什麼時候定義成員變數?  當該變數是用來描述一個類的時候。 (3)長方形案例 (4)員工案例 (5)MyMath案例(自己提供加減乘除並測試)  10:static關鍵字(理解) (1)靜態意思。可以修飾成員變數和成員方法。 (2)靜態特點:  A:隨著類的載入而載入  B:優先與對象存在  C:被類的所有對象共用   這其實也是我們判斷該不該使用靜態依據。   舉例:飲水機和水杯的問題思考  D:可以通過類名調用   既可以通過對象名調用,也可以通過類名調用,建議通過類名調用。 (3)靜態記憶體配置圖s  靜態內容在方法區的靜態區 (4)靜態注意事項;  A:在靜態方法中沒有this對象  B:靜態只能訪問靜態(代碼測試過)  A:在靜態方法中是沒有this關鍵字的   如何理解呢?     靜態是隨著類的載入而載入,this是隨著對象的建立而存在。     靜態比對象先存在。  B:靜態方法只能訪問靜態成員變數和靜態成員方法    靜態方法:     成員變數:只能訪問靜態變數     成員方法:只能訪問靜態成員方法    非靜態方法:     成員變數:可以是靜態,也可以是非靜態     成員方法:可是是靜態成員方法,也可以是非靜態成員方法。   簡單記:    靜態只能訪問靜態。  (5)靜態變數和成員變數的區別  A:所屬不同   靜態變數:屬於類,類變數   成員變數:屬於對象,物件變數,執行個體變數  B:記憶體位置不同   靜態變數:方法區的靜態區   成員變數:堆記憶體  C:生命週期不同   靜態變數:靜態變數是隨著類的載入而載入,隨著類的消失而消失   成員變數:成員變數是隨著對象的建立而存在,隨著對象的消失而消失  D:調用不同   靜態變數:可以通過對象名調用,也可以通過類名調用   成員變數:只能通過對象名調用 (6)main方法是靜態  public:許可權最大  static:不用建立對象調用  void:傳回值給jvm沒有意義  main:就是一個常見的名稱。  String[] args:可以接收資料,提供者的靈活性   格式:java MainDemo hello world java      java MainDemo 10 20 30

Java基礎班學習筆記(7)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.