簡體   English   中英

在Mac上的Eclipse中導入Java類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM