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...