java學習筆記(Core Java)4 對象與類

來源:互聯網
上載者:User

標籤:存在   筆記   class   this   nali   his   執行個體   本地   特徵   

第四章 對象與類
oop三個特徵:對象的行為、狀態、標識
類之間關係:依賴,彙總,繼承
依賴:一個類的方法操縱另一個類的對象。(盡量減少這種耦合情況)
彙總(has-a)一個類作為另一個類的變數而存在
繼承(is-a)

如果只聲明一個類變數,而沒有在堆空間中開闢沒存,
那麼這個變數就不能調用類中的方法
因為這個變數沒有引用對象

!!一個對象的變數並沒有實際包含一個對象,而僅僅引用了一個對象

Data data;
等同於:
Data *data; //它只代表一個指標,而不擁有對象資料

get/set 訪問器

一個源檔案中只有一個公有類

javac <==> make 對包含main方法的類編譯,運行時會自動編譯其他相關類
也可以使用萬用字元*

c++在類內部定義的方法為內聯方法
java中,虛擬機器會自動的監視調用經常被調用、可最佳化的方法

不要編寫返回引用可變對象的訪問器方法,如果要使用,應當返回一個clone副本

class Employee
{
。。。
private Data getHireDay();
{
return hireDay.clone(); //防止給其他Data變數賦值時的混肴狀態
}
}

final和static
/////////////////////////////
static:
c:保留局部變數資料。資料具有本地隱藏性
c++:該變數屬於整個類而不是屬於具體對象
/////////////////////////////

main() ;測試技巧:每個類都可以有一個main方法,並且可以單獨運行一個類。運行程式則可以 java Application ,其他非啟動類類中的main方法都不會運行

java都是值傳遞
一個方法不能修改一個基礎資料型別 (Elementary Data Type)的參數(數值、布爾)
一個方法可以改變一個對象參數的狀態
一個方法不能讓對象參數引用一個新的對象

方法名與參數列表共同組成方法簽名

java初始化對象: 再回來看看!!
重載構造器
this調用其它構造器
無參數構造器
對象初始化塊
靜態初始化塊
執行個體域初始化

對象析構:finalize 不推薦 不知道什麼時候調用
包與引入包 import 類似於引用命名空間
package == namespace
import == using

靜態匯入

類設計技巧
1)保證資料私人
2)對資料初始化
3)不要在類中過多的使用基本類型(可以使用彙總關係代替)
4)不是所有的域都需要獨立的訪問器與更改器
5)將職責過多的類進行分解
6)類名與方法名應該能體現他們的職責

java學習筆記(Core Java)4 對象與類

聯繫我們

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