2016-11-28 5 views
-1
import java.io.*; 
import java.net.*; 

public class pwundublfive{ 
    public class Server{ 

     private ServerSocket socket; 
     private int port; 

     public Server(int port) throws IOException{ 
      socket = new ServerSocket(port); 
      socket.setSoTimeout(10000); 
     } 
    } 

    public static void main(String[] args){ 
     int port = 1234; 
     Server obj = new Server(port); // <-- Error here 
    } 

} 

が、私はこの質問を何度も掲載されています知っている新しいオブジェクトをインスタンス化する際に、静的コンテキストの問題から参照、と私はあなたがメンバーを呼び出すことができないだけでなく回答のほとんどを理解することはできませんクラスのメソッド。しかし、私はそのコンストラクタを呼び出す新しいオブジェクトをインスタンス化していますか?ありがとう:)非静的変数は

+0

あなたはそれを言いようとしています。あなたはそれをすることはできません。それは、ユースケースが何であるかにかかわらず、すべてです。 – Mritunjay

答えて

1

問題はServerpwundublfiveの非static内部クラスですので、あなたがインスタンス化pwundublfiveと(あなたが好むべき)pwundublfiveInstance.Server(port)かを呼び出すよりも、どちらかということです、あなたは別々に、他のクラスのうち、あなたのServer定義を移動することができますファイル(Server.javaと呼ばれます)。

1

全体クラスServerは、staticではないので、静的メソッドでは参照できません。

関連する問題