2016-06-28 7 views
0

aufrufen Ich versuche, eine Instanz der BrowserSession Klasse in meiner main-Methode zu erstellen, und aus irgendeinem Grund kann NetBeans nicht auf die set-Methoden oder den Konstruktor zugreifen Es übergibt einen Socket als Parameter. Sowohl meine YK250X als auch meine BrowserSession sind im gleichen Paket und ich bin in der Lage, eine Instanz von BrowserSession zu erstellen, solange ich nicht versuche, etwas zu übergeben. Ansonsten bekomme ich eine cannot find symbol Fehlermeldung.Nur einige Methoden einer separaten Klasse im selben Paket in meiner Hauptmethode

Hier ist meine Hauptmethode Code:

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); 
    } 
} 

Und hier ist mein BrowserSession Klassencode:

/** 
** @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

Es ist viel einfacher für alle (sonst), wenn Sie Standard-Namenskonventionen verwenden. Insbesondere sollten Namen von Variablen, die nicht "statisch" und "final" sind, mit einem * Kleinbuchstaben * beginnen. –

+1

Ich kann Ihr Problem nicht über den Befehlszeilencompiler reproduzieren, und ich sehe keinen Grund, warum es einen geben sollte. Meine beste Vermutung ist, dass NetBeans aus irgendeinem Grund an einer veralteten Version von 'BrowserSession.class' festhält. In diesem Fall wäre die Lösung, eine vollständige Neuerstellung zu erzwingen. –

Antwort

0

Ich benutze NetBeans nicht, aber Sie können package yk250x; an der Spitze umfassen müssen Ihre BrowserSession Datei.

Verwandte Themen