Java_Day5(面向對象,類的定義,對象的創建和使用)

1.面向對象

優點:耦合性低,擴展性強,組件複用性強。
缺點:前期投入成本較高,需要進行獨立體的抽取,大量的系統設計。
面向過程
優點:對於業務邏輯比較簡單的程序,可以達到快速開發,前期投入成本低。
缺點:很難解決非常複雜的業務邏輯,耦合性高,造成擴展性差,沒有獨立提的概念,無法達到組件複用。

  • 面向對象的三大特徵:
    封裝,繼承,多態。
    採用面向對象的方式開發一個軟件,生命週期當中,基於面向對象分爲三個階段:
    面向對象的分析:OOA
    面向對象的設計:OOD
    面向對象的編程:OOP
    什麼是類?
    現實世界當中不存在,是一個模板,是一個概念,是人類大腦思考抽象的結果,將具有共同特性的對象抽象出來的模板,這個模板叫做類。
    什麼是對象?
    對象是實際存在的個體,現實世界當中實際存在。是類的一個實體。
    軟件開發過程:
    在現實世界中,觀察對象,將具有相同特徵的對象,通過JAVA語言,定義一個類,即模板。然後通過類就可以創建對象,有了對象之後,可以讓對象直接協作起來形成一個系統。
  • 類的實例化爲對象。
  • 對象抽象化爲類。
    重點:類描述的是對象的共同特徵,屬性和方法,在訪問其對象的時候,必須先創建對象,通過對象去訪問這個特徵。因爲屬性和方法對應某個對象之後,值不同(屬性),打籃球的是否能灌籃不同(方法),但他們都有身高,都會打籃球。

2. 類的定義

結構:
[修飾符列表] class 類名{
屬性:
方法:
}
引用數據類型:String.class(sun提供)
Student.class 自定義
類是引用數據類型。跟基本數據類型區分開來。

3.對象的創建和使用

  • 成員變量(實例變量)需通過創建對象去訪問,當創建對象後,變量的內存空間纔會創建。
  • 實例化對象語法:new 類名();
    Student s = new Student();
    s爲局部變量(s在棧內存中)s爲引用,是對象在堆內存的地址,所以s不是對象。
  • 什麼是對象?
    new運算符在堆內存中開闢的內存空間稱爲對象。
  • 什麼是引用?
    引用是一個變量,只不過這個變量中保存了另一個java對象的內存地址。
    注意:
    *java語言當中,程序員不能直接操作堆內存,java屏蔽了指針,不像c語言。
    *在java中,只能通過“引用”‘去訪問堆內存當中對象內部實例變量。
  • new是java運算符
  • new運算符的作用是創建對象,在JVM堆內存當中開闢新的內存空間。
  • 方法區內存:在類加載的時候,class字節碼代碼片段被加載到該內存空間中。
  • 棧內存:方法代碼執行的時候,會給該方法分配棧內存空間。
  • 堆內存:new的對象在堆內存中存儲。

讀取數據

語法:引用.變量名(很像c語言的結構體)。

  • 局部變量在棧內存中存儲。
  • 成員變量中的實例變量在堆內存的java對象內部存儲。實例變量是一個對象一份。
  • 對象中的實例變量只有通過對象才能訪問,不能直接通過“類名”訪問。
  • 類爲引用數據類型,可以聲明變量,故自定義的類可以聲明變量。如String即爲引用數據類型,其爲sun公司定的。
    public class Adress{
    String city;
    String town;
    }
    public class user{
    int age;
    String name;
    Adress addr;
    }
    public class firstOO{
    user u = new user();
    u.age = 10;
  • u.addr = new Address();//等價於Address a= new Address();u.addr=a;
    //訪問城市
    u.addr.city = “Shanghai”;
  • }
    u.add是一個引用。其保存了對象Address的地址。
    引用時一個變量,變量包括局部變量和成員變量。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章