2016-06-28 49 views
0

我試圖在我的main方法中創建BrowserSession類的實例,並且出於某種原因,NetBeans無法訪問設置方法或構造函數它通過Socket作爲參數。我的YK250XBrowserSession都在同一個包中,只要我不想傳遞任何東西,我就可以創建一個BrowserSession的實例。否則,我會收到一條cannot find symbol錯誤消息。只能調用我的主要方法中相同包中的一個單獨的類的某些方法

這裏是我的主要方法的代碼:

package yk250x; 
/** 
* 
* @author Sophia_M-D 
*/ 
import java.net.ServerSocket; 
import java.net.Socket; 
import java.io.BufferedReader; 

public class YK250X { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) throws Exception { 
     int BrowserListenPort = 100; 

     ServerSocket BrowserListenSocket = new ServerSocket(BrowserListenPort); 
     Socket BrowserConnectionSocket = BrowserListenSocket.accept(); 
     BrowserSession ThisBrowserSession = new BrowserSession(); 
     ThisBrowserSession.setBrowserConnectionSocket(BrowserConnectionSocket); 
    } 
} 

這裏是我的BrowserSession類代碼:

/** 
** @author srm349 
*/ 
import java.net.ServerSocket; 
import java.net.Socket; 
import java.io.BufferedReader; 
import java.io.PrintWriter; 
import java.io.IOException; 
import java.lang.Thread; 

public class BrowserSession{ 

    //Member Variables 
    private Socket BrowserConnectionSocket; 
    private PrintWriter BrowserStream; 

    //Constructor Methods 
    public BrowserSession(Socket NewSocket){ 
     BrowserConnectionSocket = NewSocket; 
    } 

    public BrowserSession(){ 
    } 

    //Get&Set Methods 
    public Socket getBrowserConnectionSocket(){ 
     return BrowserConnectionSocket; 
    } 

    public void setBrowserConnectionSocket(Socket newConnection){ 
     BrowserConnectionSocket = newConnection; 
    } 

    // method through which information is sent to the browser 
    public boolean WriteMessage(String Message){ 
     try{ 
      if(BrowserStream == null) 
       BrowserStream = new PrintWriter(BrowserConnectionSocket.getOutputStream()); 
      BrowserStream.println(Message); 
      BrowserStream.flush(); 
      return true; 
     } catch(IOException Error) { 
      return false; 
     } 
    } 
} 
+1

如果您使用標準的命名約定,那麼每個人(其他人)都會更容易。特別是,不是'static'和'final'變量的名字都應該以*小寫*字母開頭。 –

+1

我無法通過命令行編譯器重現您的問題,並且我沒有看到爲什麼應該有一個問題。我最好的猜測是,NetBeans出於某種原因持有一個陳舊的'BrowserSession.class'版本。那樣的話,解決辦法就是強制重建。 –

回答

0

我不使用NetBeans,但你可能要包括package yk250x;在頂部您的BrowserSession文件。

相關問題