this關鍵字可以指代那些呢? 可以表示操作類的屬性、方法和當前物件。
案例:定義乙個類,表示年齡和姓名基本資訊,例項化物件並輸出結果
//本程式是對this關鍵字的說明
class info
//方法
public void print() }
public class testthis
}
結果如下:
結果沒有任何問題,那麼問題來了,在建構函式的書寫過程中,public info(string n, int a) 沒有人能說明白n和a分別代表了什麼,要麼使用的引數名稱和屬性名稱相似,要麼就直接使用屬性名稱。
案例:使用屬性名稱:
//本程式是對this關鍵字的說明
class info
//方法
public void print() }
public class testthis
}
結果:
直接用屬性名稱作為引數無法傳遞,導致不能實現。要修改就可以使用this關鍵字。分析得知,我們知道name=name中的第乙個name代表的是類的屬性名,所以可以用this.name代替。
案例:
//本程式是對this關鍵字的說明
class info
//方法
public void print() }
public class testthis
}
結果:
進一步說明:只要是操作本類的屬性時,就可以用this表示。
在構造方法中,可能會有多個,而且每種構造方法都可能相似,有相同的語句。如何才能避免重複?
案例:同上類似,構造方法多。
//本程式是對this關鍵字的說明
class info
public info(string name)
public info(string name, int age)
//方法
public void print() }
public class testthis
}
結果
本程式不論呼叫哪個方法,都會呼叫system.out.println("*******產生了乙個物件"); 所以重複性太高,修改**如下:
//本程式是對this關鍵字的說明
class info
public info(string name)
public info(string name, int age)
//方法
public void print() }
public class testthis
}
注意:構造方法在類例項化時呼叫,在類呼叫普通方法前,this呼叫構造方法時必須放在首行,而且this至少乙個構造方法不使用this。
當前物件:正在操作類中方法的物件,此時this不固定,對著呼叫類中的方法不同而不同,之前this屬性是當前的物件。
//本程式是對this關鍵字的說明
class info
}public class testthis
}
結果:
使用this一定要分清楚使用的是物件、屬性、還是方法。
//本程式是對this關鍵字的說明
class info
}public class testthis
}
生成物件之後,例項化。第一行列印這個s是傳遞的引數s,第二個列印的是物件的屬性,四三個列印的是引數傳遞後的s。
//本程式是對this關鍵字的說明
class a
public void print()
}class b
public void print()
}public class testthis
}
結果:
說明:
java入門教程 12 7Java資料庫更新
資料庫更新操作包括資料表建立 刪除 以及資料表記錄的增加 刪除 修改等操作。如果利用資料 sql命令實現,則利用statement對旬的executeupdate 方法,執行sql的update語句,實現資料表的修改 執行sql的insert語句,實現資料表記錄的新增。例如,在前面資料為查詢例子基礎...
JAVA物件導向之抽象
一 物件導向思想 1.抽象過程 所有程式語言都提供了一套抽象機制 對問題的抽象 組合語言是對底層機器的輕微抽象,c basic 語言是對組合語言的抽象。但是他們在解決問題時依然要求基於計算機的結構 面向過程 而不是基於問題來解決。所以程式設計師在解決問題時,經常需要建立機器模型 實際問題之間的關聯。...
java物件導向之封裝
封裝 是指隱藏物件的屬性以及具體實現細節,外部只能訪問公共部門。簡單的來說,外部無法訪問呼叫乙個類的private部分,只能呼叫他的公共部門,這就叫做封裝 好處 將變化隔離 便於外部使用 提高重用性 提高安全性 private關鍵字 1.是乙個許可權修飾符,許可權級別最低 2.用於修飾成員變數和成員...