java同名類
A. java 允許類定義與類同名的成員變數嗎
類A定義一個A類型的成員變數,可以這樣做嗎?什麼意思?
可以的A類裡面可以有一個A類型的成員的,
效果是如果你將這個類實例化為a後,就有了一個a.A的成員了
那是不是就有a.A.A.A.A....呢,不會的因為成員是類的話此成員就只是一個引用而已,
這個引用必須賦值後才能使用,
如果直接訪問a.A.A的話其值為null
再往後的.A就更不用考慮了
B. java同名類報錯
貌似你用的兩個文件夾分割的這些類,0417和這個0418都是默認包,同一個包不能有同名的類。給上面的新建包,0417,下面的新建包0418,這樣不同的包下是可以有同名的類的,不過最好不用同名的類,很麻煩的
C. java中定義多個同名類的疑問
classA{
voidm(){
System.out.println("outer");
}
}
publicclassTestInners{
publicstaticvoidmain(String[]args){
newTestInners().go();
}
voidgo(){
newA().m();
classA{
voidm(){
System.out.println("inner");
}
}
}
classA{
voidm(){
System.out.println("middle");
}
}
}
執行結果是:c middle
調用go()方法在new A()對象首先找的是TestInners的內部類A,new A()動作發生在局部內部類A之前,所以new A()創建的是TestInners中內部類A的實例,調用m()輸出的是「middle」
D. java中,怎麼在一個包中引用另一個包的同名類
你好,
根據你的問題,兩個包裡面類名相同,默認會調用當前類,如真要引用,只能用下面方法
cn.fancy.p1.A
a=new
cn.fancy.p1.A();//用它的許可權定名來確認是p1下面的A
希望我的回答能幫到你
E. java 不同包有同名類時 如何調用某一同名類的靜態成員(方法)
那就利用包名+類名+靜態成員(方法)來作為該成員的唯一標示即可
比如包apackage中有類AClass,其有static方法funa()
包bpackage中也有類AClass,其中有static方法funb()
(當然這種情況當且僅當兩個包都被引用到時才需要,如果只引入了其中一個包則不需要用包名+類名引用)
當兩個包都被引用時為區分兩個AClass
則可以這么寫
apackage.AClass.funa();
bpackage.AClass.funb();
F. java 如何由字元串得到和字元串同名的類
利用java的反射技術,Class.forName(String
className),參數是字元串類型
往裡面傳入類名
,就會在內存中載入對應的類的位元組碼文件,然後再調用newInstance()方法,就能創建該類的實例對象.