A. java this 的用法
this關鍵字用來指代當前對象。
你說的這個問題我也曾考慮過,但是最終還是要用一樣的變數名,其原因是:
你的方法是用來給其他程序在其他位置調用的。如果你在這里設置了不同的變數名,那其他地方在調用的時候也會看到你的另外一個參數名,因為名字不一樣,就不能一下知道你的參數到底是需要什麼東西,對於除開你自己外的所有開發人員都不具有可讀性。而且對後期的維護會造成很大的麻煩,為了避免這些麻煩,這里都是要用相同的變數名的,只需要加一個this關鍵字就可以。相對來說是很方便的。
B. 關於java中的this用法
因為Fish類繼承了Animal類,所以他就擁有Animal的所有方法和變數,所以Fish聲明的對象用this能指出name和age
C. this()在java中什麼意思
this表示類實例本身。
this的用法:
1、表示對當前對象的引用!
publicclassA{
publicAgetA(){
returnthis;//表示獲取當前實例本身
}
}
2、表示類的成員變數,而非函數參數,注意在函數參數和成員變數同名是進行區分!
publicclassA{
privateinta=0;//位置1
publicAgetA(inta){
this.a=a;//前面this.a表示位置1的a,賦值=號右側的表示參數a
}
}
3、用於在構造方法中引用滿足指定參數類型的構造器。
publicclassA{
publicA(inta){
}
publicA(){
this(1);//這里調用自身的構造函數publicA(inta){
}
}
D. JAVA中的this是什麼意思
java裡面this是指本身的意思,比如說在一個類裡面this就代表自己本身這個類
E. java中this的用法
1. this指當前對象。
當在一個類中要明確指出使用對象變數或函數時加上this引用。如下面例子中:
public class Hello {
String s = "Hello";
public Hello(String s){
System.out.println("s = " + s);
System.out.println("1 -> this.s = " + this.s);
this.s = s;
System.out.println("2 -> this.s = " + this.s);
}
public static void main(String[] args) {
Hello x=new Hello("HelloWorld!");
}
}
運行結果:
s = HelloWorld!
1 -> this.s = Hello
2 -> this.s = HelloWorld!
在這個例子中,構造函數Hello中,參數s與類Hello的變數s同名,這時直接對s進行操作則是對參數s進行操作。對類Hello的成員變數s進行操作就應該用this進行引用。運行結果的第一行就是直接對構造函數中傳遞過來的參數s進行列印結果;
第二行是對成員變數s的列印;第三行是先對成員變數s賦傳過來的參數s值後再列印,所以結果是HelloWorld!
2. this作為參數傳遞
當你要把自己作為參數傳遞給別的對象時如:
public class A {
public A() {
new B(this).print();
}
public void print() {
System.out.println("Hello from A!");
}
}
public class B {
A a;
public B(A a) {
this.a = a;
}
public void print() {
a.print();
System.out.println("Hello from B!");
}
}
運行結果:
Hello from A!
Hello from B!
在這個例子中,對象A的構造函數中,new
B(this)把對象A作為參數傳遞給了對象B的構造函數。
F. java this什麼意思
java中的this隨處可見,用法也多,現在整理有幾點:
1. this是指當前對象自己。
當在一個類中要明確指出使用對象自己的的變數或函數時就應該加上this引用。如下面這個例子中:
public class Hello {
String s = "Hello";
public Hello(String s) {
System.out.println("s = " + s);
System.out.println("1 -> this.s = " + this.s);
this.s = s;
System.out.println("2 -> this.s = " + this.s);
}
public static void main(String[] args) {
Hello x = new Hello("HelloWorld!");
}
}
運行結果:
s = HelloWorld!
1 -> this.s = Hello
2 -> this.s = HelloWorld!
在這個例子中,構造函數Hello中,參數s與類Hello的變數s同名,這時如果直接對s進行操作則是對參數s進行操作。若要對類Hello的成員變數s進行操作就應該用this進行引用。運行結果的第一行就是直接對構造函數中傳遞過來的參數s進行列印結果; 第二行是對成員變數s的列印;第三行是先對成員變數s賦傳過來的參數s值後再列印,所以結果是HelloWorld!
2. 把this作為參數傳遞
當你要把自己作為參數傳遞給別的對象時,也可以用this。如:
public class A {
public A() {
new B(this).print();
}
public void print() {
System.out.println("Hello from A!");
}
}
public class B {
A a;
public B(A a) {
this.a = a;
}
public void print() {
a.print();
System.out.println("Hello from B!");
}
}
運行結果:
Hello from A!
Hello from B!
在這個例子中,對象A的構造函數中,用new B(this)把對象A自己作為參數傳遞給了對象B的構造函數。
G. java中this的用法
1、this指向當前類的對象,也就是TwoListen類的對象。由於MouseMotionListener,MouseListener 都是介面,因此
f.addMouseMotionListener(this);//(************************)
f.addMouseListener(this); //(************************)
中分別需要一個實現了MouseMotionListener和MouseListener介面的類的實例。
在本例子中 TwoListen類都實現了這兩個介面,因此可以用本類的實例來做參數。或者新建一個實現了這兩個介面的類,再用這個類的實例做參數。
2、在該例子中,this指向生成的two對象。為什麼用two替換後就不能運行了呢?
因為two是在main方法中定義的,是局部變數;而在go方法中並不能訪問其他方法中定義的局部變數。
如果把two定義為全局變數,如:
static TwoListen two;
再在main方法中定義:
two=new TwoListen();
這時就可以用two代替this了