本文目錄一覽:
java可以使一個類的方法的參數這整個類中使用嗎?
不可能,方法的參數的作用範圍就是方法體內,類中不能共享因為不可見。
如果想要達到共享的目的,乾脆就弄個成員變數,那樣傳進去就行了。
還是關於java泛型的問題:在靜態方法中為什麼不能引用類級別的類型參數?
你好,我覺得最主要的原因是因為泛型擦除。
class DemoT {
public void add(T t) {
//…
}
}
編譯後通過反編譯:
D:\testjavap -s -p Demo
Compiled from “Demo.java”
public class Demo extends java.lang.Object{
public Demo();
Signature: ()V
public void add(java.lang.Object);
Signature: (Ljava/lang/Object;)V
}
所以,非靜態方法正是由於需要先有對象,進而在使用泛型的時候可以確定安全檢查的限制條件。
DemoString d = new DemoString() ;
d.add(“str”) ; //這裡你就只能添加String類型的。
而靜態方法不需要構件對象,所以他在調用方法是,根本沒有判斷參數的約束條件,所以虛擬機壓根就不希望這種事情發生,所以在編譯時就報錯了。
JAVA參數中能使用void嗎?
不行.
明擺著是語法錯誤…
void是關鍵字,但不是所有關鍵字都能做返回類型.(如:int可以,extends/package就不行了)
即使你寫成:
void f(void a){
…
}
好像在模仿
void f(int i){
…
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/198180.html