Zum Inhalt springen

"this" in main() verwenden


Sia

Empfohlene Beiträge

Hallo Java-Profis,

ich würde gerne "this" in der Main-Funktion verwenden.

Leider geht das ja nicht, weil main() static ist.

Das Ziel ist dieses:

In der Klasse Server liegen drei Hashtables, die mit add und get bearbeitet werden können.

Es werden vom Server einige Threads mit dem Namen RequestHandler erzeugt.

Die Requesthandler sollen auf die Hashtables zugreifen können. Dazu benötigen sie aber die Server-Instanz. Diese wollte ich den Handlern mit HIlfe von "this" übergeben, entwerder über den RequestHandler-Konstruktor oder mit irgeneiner Funktion. Das ist unwichtig.

Aber wie mache ich das aus der Main-Funktion heraus? Oder kann ich vielleicht innerhalb der Threads erfahren, wer sie erzeugt hat und hätte so meine Server-Instanz?

Danke für eure schnelle Hilfe,

Sia

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

bevor ich lange erkläre, hier ein Beispiel:


import java.util.*;


public class Server {


  private Hashtable ht = new Hashtable();


  public Server() {

    RequestHandler rh = new RequestHandler(this);

  }


  public static void main(String[] args) {

    Server server = new Server();

  }


  public Hashtable getHt() {

    return ht;

  }


  public void setHt(Hashtable hashtable) {

    ht = hashtable;

  }

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

ich glaube du musst dann in der Main erst ein neues Server objekt erzeugen

z.B so

Server meinServer = new Server();

danach kannst du dann auf die Hashtables zugreifen indem du die Methoden so aufrufst

meinServer.[Methodenname]

Das könnte vielleicht die Lösung des Problems sein

Link zu diesem Kommentar
Auf anderen Seiten teilen

Beispiele sind sowieso immer viel besser:)

Jetzt, wo ich es so sehe, wirds mir natürlich klar. Aber darauf muss man erst mal kommen, in der Klasse eine Instanz von sich selbst zu erzeugen.

Vielen Dank und bis zum nächsten Thread;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...