[英]Importing Java classes in Eclipse on Mac
我在不同的文件中有兩個類(CoinFlip和Incr),並且我試圖導入Incr以在CoinFlip中使用:
package com.iRprojects.Book.Java;
import java.util.*;
import com.iRprojects.Book.Java.*;
public class CoinFlip {
public static void main(String[] args) {
int g = 5;
System.out.println(incr(g));
}
}
和
package com.iRprojects.Book.Java;
public class Incr {
public static int incr(int i){
i++;
return i;
}
}
對於類似這樣的類,eclipse表示找不到incr()。
如果我將其更改為:
package com.iRprojects.Book.Java;
import java.util.*;
//import com.iRprojects.Book.Java.*;
public class CoinFlip {
public static void main(String[] args) {
int g = 5;
System.out.println(com.iRprojects.Book.Java.Incr.incr(g));
}
}
它編譯良好。 有任何想法嗎?
您的代碼不正確...您正在嘗試訪問incr,好像它是對CoinFlip進行分類的本地方法一樣。
實際上,它是在Incr類中定義的,並且應該像下面這樣訪問:
System.out.println(new Incr().incr(g));
另外,請考慮為您的包裹聲明使用正確的防曬建議。
incr()
是Incr
的靜態方法。 當您未明確聲明類名時,java只會在包含的類中查找。 由於CoinFlip
沒有實現incr()
,因此會出現錯誤。
您也不需要類名的完全限定路徑, Incr.incr()
很好。
在這種情況下,您必須編寫:
import static com.iRprojects.Book.Java.Incr.*;
這意味着在考慮訪問修飾符的情況下,從com.iRprojects.Book.Java.Incr類導入所有靜態成員。
使用靜態導入或編寫Incr.incr()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.