當前位置:首頁 » 編程語言 » java當前類

java當前類

發布時間: 2022-04-29 13:30:06

A. java中如果是在當前類的方法里new當前類的對象,可以直接new嗎解釋下機理,謝謝哦

可以直接new的,當你把這樣的類new出來並調用方法時,實際產生了該類的兩個實例,實例調用另一個實例當然是可以的啊。 但是這樣用要多注意,比如寫成這樣
public class A {
new A().;
public void moon();{}
}
這樣就會報錯了,這里造成了類的遞歸定義,會造成棧溢出。

B. java里this除了可以表示當前對象,還可不可以表示一個類

不能,java里的this僅僅指的是當前類的實體(如果是寫在內部類的,就是內部類實體)。
總之無論什麼時候this本身代表的是實體。
當然你可以通過反射獲取到java類,但這與this本身無關。

C. 請問,java如何獲得當前類的泛型的實際類型

java不能取得T的類型.
java的generic只在編譯期有效, 拉到執行期並沒有T的任何記錄.
即使用reflect也拿不到, 因為根本就沒有.
在C++的generic才能在執行期取得T.

D. 在Java中,this代表當前類的時候,能用它代表的類名代替this嗎

this和對象名稱調用對象的非靜態方法和屬性,使用類名調用對象的靜態方法和屬性

E. java 怎樣獲得一個類的當前對象

.class獲得的是類的class對象,可不是這個類的對象,用class
變數名接收,用這個class對象通過反射機制可以通過newinstence創建出這個類的對象而且只能調用無參數構造器

F. JAVA中this有什麼作用

我也來說幾句吧,呵呵! 希望用通俗的語言,讓你能明白this的作用!
其實this關鍵字是很容易理解的,下面我舉兩個例子作對比,可能你就看明白了:
沒有使用this的情況:
class A
{
private int aa,bb;//聲明兩個整形變數
public int returnData(int x,int y) //一個返回整形數的方法
{
aa = x;
bb = y;
return aa + bb;
}
}
使用this的情況
class A
{
private int aa,bb;//聲明兩個整形變數
public int returnData(int aa,int bb) //一個返回整形數的方法
{
this.aa = aa;//第一個aa是全局變數的aa,後一個aa是參數aa
this.bb = bb;//第一個bb是全局變數的bb,後一個bb是參數bb
return (this.aa + this.bb);
}
}

結論:
上面的兩個類,本質是相同的,而為什麼在第類中使用this關鍵字呢,注意到第類中的方法returnData(int aa,int bb),形式參數分別為aa和bb,剛好和「private int aa,bb;」這里的變數名是一樣的,現在問題來了:在returnData的方法體中如何區別形式參數aa和全局變數aa,兩 個 bb也是如此?這就是引入this關鍵字的用處所在了!this.aa表示的是全局變數的aa,而沒有加this的aa表示形式參數的aa,bb也是如此!
建議:
編程中,過多的使用this關鍵字不是好方法。這從上面也看得出來,相同的變數名加上this關鍵字過多時,有時會讓人分不清哪個是對哪個。這時可以使用以下方法修改,避免使用this關鍵字:

class A
{
private int aa,bb;//聲明兩個整形變數
public int returnData(int aa1,int bb1)
{
aa = aa1;//在aa後面加上一數字1加以區分,其他以此類推
bb = bb1;
return aa + bb;
}
}
總結:
可以看出,上面的,,都是一樣的,但既避免了使用this關鍵字,又避免了中x和y 這種參數意思不明確的缺點.所有建議使用一樣的方法!
以上是我的個人心得,原創發貼!希望你能看懂,呵呵!獻丑了!

G. 如何在java方法中獲得當前方法的名稱

在java方法中獲得當前方法的名稱方法:

一、獲得當前類名:

Java代碼

  • this.getClass().getName();

  • 二、獲得當前方法名臣:
    JDK1.4

    Java代碼

  • newException().getStackTrace()[i].getMethodName();//其中i=0就是當前的類的方法名字;i==1就是調用者的方法

  • JDK1.5之後可用

    Java代碼

  • Thread.currentThread().getStackTrace()[1].getMethodName();//具體使用數組的那個元素和JVM的實現有關,我在SUNJDK6下面測試的是第二個元素,具體說明可以查看Thread.getStackTrace方法的javadoc

熱點內容
我的世界哪五個伺服器被炸了 發布:2025-05-15 10:36:16 瀏覽:993
ehcache存儲對象 發布:2025-05-15 10:35:31 瀏覽:526
搭建虛擬電腦的伺服器 發布:2025-05-15 10:29:31 瀏覽:269
湖人雙核配置哪個最好 發布:2025-05-15 10:09:48 瀏覽:979
手機熱點密碼怎麼查看 發布:2025-05-15 09:54:47 瀏覽:108
生意發力雲存儲 發布:2025-05-15 09:54:45 瀏覽:616
編寫一個shell腳本添加用戶 發布:2025-05-15 09:54:43 瀏覽:505
資料庫查看錶命令 發布:2025-05-15 09:52:27 瀏覽:914
p30是不是自帶方舟編譯器 發布:2025-05-15 09:51:48 瀏覽:599
追擊世界房間密碼是多少 發布:2025-05-15 09:51:46 瀏覽:995