Java學習筆記—7.物件導向編程02-類的封裝性以及構造方法

來源:互聯網
上載者:User

1. 類的封裝特性:     

      類的封裝性是指類的屬性對外不可見,類的方法可供有限制得使用. 我的理解就是: 採取封裝後的類,其屬性不可讀不可寫(用getter和setter可進行有限制的讀寫),其方法可以調用即可讀.

2. 類的構造方法: 

      類的構造方法是02這一節中的重點部分,有些生疏,多做些筆記.

      首先,類的構造方法是為類對象的屬性進行初始化. 構造方法與類同名, 它不含有傳回值類型的定義也不能在方法體中使用return語句.

 

      在一個類中,可以有一個或者多個構造方法. 如果一個類中沒有明確定義構造方法,則程式在編譯過程中會自動產生一個無參的構造方法;如果類中已經明確定義了構造方法,則不會再自動產生該無參的建構函式.

      構造方法的使用是在對象的執行個體化時. 在對象執行個體化時,會自動調用類中的建構函式,主要用來為類中的屬性進行初始化. 這裡需要注意的是,如果用建構函式進行對象屬性的初始化,最好還是調用geeter和setter方法.

      下面是對建構函式的具體使用的一個例子, 注釋部分詳細描述了使用過程及注意事項:

class Person{// 定義類"Person"的屬性private String name;private int age;// 定義建構函式public Person(){}public Person(String name, int age){// 如果是由建構函式為屬性賦值的話,最好也是使用getter和seter方法this.setName(name);this.setAge(age);}// 定義getter和setter方法public String getName(){return name;}public void setName(String n){this.name = n;}public int getAge(){return age;}public void setAge(int a){// 防止年齡非法輸入if (a > 0 && a < 150){this.age = a;} else{this.age = -1;}}// 定義類"Person"的方法void say(){System.out.println("我的名字是: " + name + ", 我的年齡是: "+ (age > 0 ? age : "非法年齡!"));}}public class ClassDemo01{public static void main(String args[]){// 聲明對象:在棧記憶體中聲明;類名稱 對象名稱 = null ;// 執行個體化對象:使用new在堆記憶體中開闢空間,儲存對象屬性;對象名稱 = new 類名稱() ;Person p = new Person("張三", 23);// 通過對象.方法,調用對象的方法p.say();}}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.