java this 3種常見用法 詳解

2021-07-26 04:40:53 字數 1564 閱讀 6439

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的三種常見用法介紹完畢!怎麼用很容易吧.

java this 三種用法

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

Sqlite3中replace語句用法詳解

由於自己的孤陋寡聞,也由於之前的專案中,很少參與過資料庫模組的開發,以至於前幾天才知道sqlite資料庫也支援replace語句。本文主要講解在sqlite中replace語句的行為,也算是學習筆記。此外,replace語句和update語句有相似的地方,但是也有很多不同之處。本文還要對比一下sql...

Sqlite3中replace語句用法詳解

在本例中使用如下資料庫表 圖 1 該錶的表名為student,儲存學生資訊。所有欄位的資料型別都是text 其中id和name作為復合主鍵。email欄位加上了唯一約束。建表語句如下 create table if not exists student id text,name text not n...