Java 類與物件

2021-08-02 21:40:29 字數 2556 閱讀 6835

類與類之間的關係主要有那些?依賴,聚合,繼承;

乙個類可以有哪些東西?一般來說有屬性,方法,構造方法,**塊,內部類。關於類要了解他們的初始化順序:

父類--靜態變數

父類--靜態初始化塊

子類--靜態變數

子類--靜態初始化塊

父類--變數

父類--初始化塊

父類--構造器

子類--變數

子類--初始化塊

子類--構造器

注意:在執行之前,所有資料域初始化為預設值。初始化塊和變數是按在類中的順序來執行的。

1.物件與物件變數

一般通過new關鍵字來建立乙個物件,也就是開闢一塊記憶體,然後返回它的位址值。指向這個位址值的變數稱為物件變數。如date d=new date(),這裡d就是物件變數。與物件有著本質的區別,如date da;這裡da僅僅是乙個變數,不能呼叫方法da.tostring(),會編譯出錯。

物件變數初始化之後才可以用,兩種方式,要麼構造新的,要麼使用現有的,如date db=d;這樣d和db都引用了同乙個物件。

簡單來說,物件就是儲存在記憶體中的資料,物件變數就是引用某個物件的變數而已,甚至可以手動置為null。

2.構造器

構造器總是伴隨著new操作符的執行而被呼叫,其他的特點比如與類名相同啊,沒有返回值…

需要注意就是不能在構造器中定義與屬性重名的區域性變數,

3.方法

3.1隱式引數與顯式引數。

public

void

setid(integer id)

隱式引數,在方法中通常用this表示代表當前物件,這樣就可以將區域性變數和類屬性區分開,而id就是顯式的。

3.2引數的傳遞。

方法的引數一共有兩種:基本型別和引用型別,於是就有兩種呼叫。

按值呼叫:方法接收的是呼叫者提供的值;

按引用呼叫:方法接收的是呼叫者提供的變數位址;

對於方法引數,記住以下三點:

1.方法不能修改基本資料型別的引數。

2.方法可以改變乙個物件引數的狀態。

3.方法不能讓物件引數引用乙個新的物件。

關於值傳遞的示例

public

class user

public

class

testpase

/*** 基本型別

* 相當於 int a2=a1; a2=19;

* a1與a2只是變數名,甚至可以相同

*/void base(int a2)

/*** 字串引用型別

* 相當於

* string s2=s1;s2="word";s1與s2只是變數名,甚至可以相同.

*/void string(string s2)

/*** 其他引用型別

* 相當於

* user user=u;這裡的賦值僅僅將u的位址複製給user,他們指向的是同乙個記憶體區域,共享該物件的資料。

* u.setphone("911");

*/void other(user user)

/*** 其他引用型別

* 相當於

* user user=u;user=new user();user.setphone("911");這裡重新開闢了一塊記憶體,賦值給user,即user的位址值被覆蓋了

*/void oother(user user)

}

final與static

final

修飾類———該類不可改變(不能繼承)

修飾變數——–值不可變或引用不會再指向其他物件

修飾方法———-不可修改(不能重寫)

static

修飾內部類———可以作為普通類使用(不可修飾普通類)

修飾變數———–所有類例項將共享該變數

修飾方法————不能向物件方法操作,沒有隱式引數(this)。如main方法

使用:

工廠方法:當無法命名構造器,或者無法改變所構造的物件型別,就可以使用靜態工廠方法來構造物件。如localdate.now()可以構造乙個localdate物件。

常量:使用static+final修飾

this與super關鍵字

在普通方法中,this表示隱式引數,即所構造的物件,super表示呼叫父類方法

public void method

(int age)

在構造器中,第乙個語句形如this(…),表示呼叫同一類中其他構造器。super表示呼叫父類構造器。

public class user

public user(...)

}

Java類與物件

物件導向的程式設計思想力圖使在計算機語言中對事物的描述與現實世界中該事物 的本來面目盡可能地一致,類 class 和物件 object 就是物件導向方法的核心概念。類是對某一類事物的描述,是抽象的 概念上的定義 物件是實際存在的該類事物的 個體,因而也稱例項 instance 比如 美女是類,范冰冰...

java類與物件

public class rnei public rnei public void showinfo public static void main string args todo 自動生成的方法存根 rnei ne new rnei 張三 男 20 system.out.println 第乙個學...

java 類與物件

你可能會疑惑什麼是類?什麼又是物件呢?打個比方吧,人類就是乙個類,而包含在其中的你就是乙個物件,也就是說類是某種物件的集合,物件就是對類的具體體現。修飾符 class 類名 注 方法返回值型別前沒有static。要想使用類,就必須先建立物件,為什麼呢?你可以想想,如果你想借本書,肯定要知道你要借的書...