java this 三種用法

2021-08-22 07:27:16 字數 1508 閱讀 4738

public class thisdemo 

}class student

@override

public string tostring()

}

列印結果:student [ name=null, age=0]

賦值沒有成功,說明:name(區域性變數)=name(區域性變數);

而不是name(成員變數)=name(區域性變數);

public student(string name, int age)

列印結果:student [ name=小明明, age=20]

這樣子就可以賦值成功啦

public static void main(string args) 

//為什麼加入this後就可以區分呢?

因為this當前代表的是s例項(物件)相當於

s.name="小明明";

s.age="20";

//再可以理解如下

this.name=例項(物件).name="小明明";

為student再新增兩個構造器,修改後如下:
class student

public student(string name, int age)

public student(string name)

@override

public string tostring()

}

//構造器用法-->this();跟函式一樣()中可以寫引數

構造器呼叫一般是這樣子用的.不同的構造器中存在相同**.為了復用性。可以在引數少的構造器中呼叫引數多的構造器,如下:

class student

public student(string name, int age)

public student(string name)

@override

public string tostring()

}

測試結果1:

public static void main(string args)

構造器3已呼叫

構造器2已呼叫

構造器1已呼叫

student [ id=0, name=小明明, age=0]

測試結果2:

public static void main(string args)

構造器3已呼叫

構造器2已呼叫

student [ id=0, name=小明明, age=20]

總結:這樣子可以在引數最多的構造器中編寫代表。其他構造器負責呼叫引數最多的那個構造器就好了

this的三種常見用法介紹完畢!怎麼樣很容易吧.

c new三種用法

前幾天去家公司面試,有一道這樣的題 寫出c 中new關鍵字的三種用法,思前想後挖空心思也只想出了兩種用法,回來查了下msdn,還真是有第三種用法 用於在泛型宣告中約束可能用作型別引數的引數的型別,這是在framework 2.0 中定義泛行時才會使用到的,自己對c 2.0 中的支援還只是粗通皮毛,怪...

c using 三種用法

1.using指令。using 命名空間名字,這樣可以在程式中直接用命令空間中的型別,而不必指定型別的詳細命名空間。這個功能也是最常用的,幾乎每個cs的程式都會用到。例如 using system 一般都會出現在 cs中。2.using別名。using 別名 包括詳細命名空間資訊的具體的型別。這種做...

java this 3種常見用法 詳解

public class thisdemo class student override public string tostring 列印結果 student name null,age 0 賦值沒有成功,說明 name 區域性變數 name 區域性變數 而不是name 成員變數 name 區域性...