我不知道爲什麼Eclipse是給我這個錯誤:爲什麼我的方法未定義類型對象?
The method
listen()
is undefined for the typeObject
我在做什麼簡單的錯誤?另外,我的代碼是寫入main
方法的正確方法,該方法實例化EchoServer0
對象並調用其方法listen
?
public class EchoServer0 {
public void listen() {
ServerSocket socket = null;
try{
socket = new ServerSocket(2013);
System.out.println("Opened server socket");
socket.setSoTimeout(2000);
socket.accept();
socket.close();
}
catch (SocketTimeoutException ste){
System.out.println("Timed out after " + 2000 + " ms");
}
catch (Exception e){
System.out.println(e.getClass().getName()+" at server: " + e.getMessage());
}
}
public static void main(String[] args) {
Object EchoServer0;
EchoServer0.listen();
}
}
'方法listen()對於Object類型是未定義的這非常簡單。 Object類不包含該方法。用這種方法聲明你的'EchoServer0'變量是一個類型。 – csmckelvey
編譯器使用聲明的變量類型來查看它支持的方法。如果你寫了'Object name =「Stack Overflow」',那麼你只需要'name'就可以調用'Object'的方法。編譯器沒有選擇。在聲明和方法調用之間,有人可以寫'name = Integer.valueOf(1)'。被調用的實際方法取決於'name'的值以及方法參數的聲明類型。 –