2013-07-25 57 views
-1

我有兩種方法的警告消息,如下圖所示:方法重載 - 在Eclipse

第一種方法:

public int function(int i) { 
    //some calculation 
    return i; 
} 

方法二:

private String function(String s) { 
    //some calculation 
    return s; 
} 

這兩個方法都從來沒有在任何地方使用(因爲編碼還沒有完成)。但對於第二種方法,我得到在eclipse以下警告:

The method function(String) from the type Test is never used locally 

爲什麼這個警告是不顯示的第一種方法也?

+4

因爲你沒有調用這個方法在你的代碼的任何部分,它是「私人」,日食警告你使用它在當地上課或做點什麼 – Reddy

回答

2

第二種方法是private,所以如果你不把它叫做你的類裏面,你會得到警告消息從型式試驗方法函數(字符串)是從來沒有在本地使用

但第一方法是public和eclipse不知道它是否在你的項目或其他項目中調用,這就是爲什麼你沒有相同的警告消息。

1

由於第一種方法是公共的,eclipse無法知道它是否被使用,而使用私有方法,它可以看到該方法在該類中的任何地方都沒有使用。

+0

當然啦!它只是沒有在當前的項目中使用。 – andy256

+0

eclipse如何知道它不是暴露給另一個項目的API的一部分? – ivarni

+1

這個答案是正確的。對downvoter感到羞恥。注意:由於類似的原因,Eclipse甚至不會警告包私有方法。 –

4

第一個警告不會顯示,因爲它是public,您可以在外部庫中使用它。第二個是private,這意味着它只能在包含它的類中使用,如果它沒有使用,你會得到一個警告。

1

因爲如果你設置一個方法爲private Eclipse假定你將在其他一些公共方法中使用它。

雖然public方法總是可訪問的,但只有在它們聲明的類內部,private纔是可調用的。

所以一個private未使用的方法實際上是代碼無用的和平......