1. 程式人生 > >第二小節之面向物件上

第二小節之面向物件上

在程式中使用物件來對映現實中的事物,使用物件的關係來描述事物之間的聯絡,這種思想就是面向物件

面向物件的特點主要可以概括為封裝性、繼承性和多型性。

  封裝性:將物件的屬性和行為封裝起來,不需要讓外界知道具體實現細節(在定義一個類時,將類中的屬性私有化,即使用private關鍵字來修飾)

  繼承性:類與類之間的關係,可以在無需重新編寫原有類的情況下,對原有類的功能進行擴充套件

  多型性:在程式中允許出現重名現象,它指在一個類中定義的屬性的方法被其他類繼承後,它們可以有不同的資料或表現出不同的行為

類是對某一類事物的抽象描述,而物件用於表示現實中該類事物的個體,類是物件的抽象,它用於描述一組物件的共同特徵和行為

在java中,null是一種特殊的常量,當一個變數的值為null時,則表示該變數不指向任何一個物件

構造方法:是類的一個特殊成員,她會在類的例項化時被自動呼叫

  1、構造方法與類名相同

  2、在方法名的前面沒有返回值型別的宣告(不能有void)

  3、在方法中不能使用return語句返回一個值

註釋:在一個類中可以定義多個構造方法

在java中的每個類都至少有一個構造方法,如果在一個類中沒有定義構造方法,系統會自動為這個類定義一個預設的構造方法,這個預設的構造方法沒有引數,在其方法體中沒有任何程式碼,即什麼也不做。一旦為該類定義了構造方法,系統就不再提供預設的構造方法。

this代表其所在函式所屬物件的引用(代表物件的引用)

this()構造方法:只能在構造方法中使用this呼叫其它的構造方法,不能再成員方法中使用。呼叫其它的構造方法,必須放在構造器中的第一句。不能在一個類的兩個構造方法中使用this互相呼叫。

垃圾回收:java虛擬機器會自動回收垃圾物件所佔用的記憶體空間,呼叫System.gc()方法。當一個物件在記憶體中被釋放時,它的finalize()方法會被自動呼叫。

static關鍵字:某些資料在記憶體中只有一份,而且能夠被一個類的所有例項物件所共享,只能用於修飾成員變數,不能修飾區域性變數,在一個靜態方法中只能訪問用static修飾的成員

內部類:內部類可以在外部類中被使用,並能訪問外部類的成員 ,如果內部類被宣告為私有,外界將無法訪問。

內部類的建立: 外部類名.內部類名 變數名=new 外部類名().new 內部類名();

1、在靜態內部類中只能訪問外部類的靜態成員 2、在靜態內部類中可以定義靜態的成員,而在非靜態的內部類中不允許定義靜態的成員