導航:首頁 > 編程語言 > java不寫this

java不寫this

發布時間:2024-10-07 16:46:05

① this和super不能用在main方法中

請問你是想問「this和super不能用在main方法中是怎麼回事」嗎?該問題的原因如下:
java中,this和super關鍵字有特定的用途和規則。this用於引用當前對象的實例,通常在任何方法內部都可以使用。但在main方法中,由於它是程序的入口點,代表整個程序而不是某個對象的實例,因此不能使用this來引用當前對象。
同樣,super用於引用當前對象的父類實例,但在main方法中也不能使用,因為main方法通常是靜態的,不與任何特定對象實例關聯。

② 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的構造函數。

③ 在Java中的main方法中可以使用this關鍵字嗎為什麼

不可以使用this關健詞..
this 關健詞是相對於 class來說的而main函數是獨立於class的一個運行的函數..
對象使用 this 的話主要是容易把變數分開來..以免混亂如
public class A{
int i;
public void setI(int i){
this.i = i;
}
}

閱讀全文

與java不寫this相關的資料

熱點內容
javaweb系統設計 瀏覽:374
假如給我三天光明pdf 瀏覽:761
小米文件夾顯示私密文件 瀏覽:760
易輯編譯sci科研 瀏覽:449
當代程序員的日常生活 瀏覽:649
湖北黃石dns伺服器雲主機 瀏覽:581
奇異博士是個什麼app 瀏覽:259
單片機數碼管閃爍 瀏覽:953
有什麼閱讀小說免費的app 瀏覽:661
華潤電力是個什麼app 瀏覽:372
java與jni線程 瀏覽:202
c語言哈夫曼編碼壓縮 瀏覽:27
單片機零基礎入門 瀏覽:437
千鋒python3基礎視頻 瀏覽:578
linuxintel程序 瀏覽:977
光遇登陸伺服器連接失敗什麼意思 瀏覽:767
jd檢測手機新老介面源碼 瀏覽:126
java調用interface 瀏覽:3
解決點面之間是否存在聯系的演算法 瀏覽:274
如何架構雲伺服器 瀏覽:399