Externe (unbekannte) Klasse nutzen

Status
Nicht offen für weitere Antworten.

thE_29

Top Contributor
Hi!

Ich will nur mal wissen ob es vielleicht ein KeyWord gibt, mit dem man eine Variable (also Klasse) vereinbaren kann, ohne das sie zur Compilierzeit vorliegen muss!

Sprich

Code:
public class Otherclass
{
   private mainClass myClass = null;
   /// FUNKTIONEN
   public OtherClass(mainClass cl)
   {
      this.myClass = cl;
   }

   private void someFkt()
   {
      myClass.setState(true);
   }
}

Nur, die Klasse mainClass liegt nicht vor, weil ich das jar Paket eigentlich nur extern laden will (sprich nicht wirklich einbinde ins projekt)

Geht sowas überhaupt? Bzw, wie geht das?

MfG ;)
 

Bleiglanz

Gesperrter Benutzer
das geht nicht, alles was zu zur Übersetzungszeit verwenden willst, muss im Classpath sein

einzige Lösung wäre Reflection (via Class.forname die Klasse und dann Methoden dynamisch aufrufen)
 

Bleiglanz

Gesperrter Benutzer
Nur, die Klasse mainClass liegt nicht vor, weil ich das jar Paket eigentlich nur extern laden will (sprich nicht wirklich einbinde ins projekt)

Das ist doch totaler Käse, wenn du das jar Paket zur Laufzeit einbinden kannst, warum kannst du es dann nicht beim kompilieren reinhängen?
 

thE_29

Top Contributor
das ist kein Käse!

Weil nicht nur ich solche Packages erstellen soll/kann sondern jemand anderes auch, der aber die mainclass nicht hat, aber die Funktionen nutzen kann (wenn er das Programm mit dem anderen Konstruktor aufruft)


Und änder deinen Namen auf was kürzeres!
 

Bleiglanz

Gesperrter Benutzer
Weil nicht nur ich solche Packages erstellen soll/kann sondern jemand anderes auch, der aber die mainclass nicht hat, aber die Funktionen nutzen kann (wenn er das Programm mit dem anderen Konstruktor aufruft)
Niemand kann mit deinen Packages was anfangen, wenn er nicht die kompilierten Binaries hat (im allgemeinen ein jar-Archiv). Ich weiss zwar überhaupt nicht, was du meinst, aber mit Class.ForName und reflect Method invoke kannst du das machen
 
B

Beni

Gast
@the_29
Mammut hat wohl recht, der Compiler benötigt alle Infos um richtig zu funktionieren (Was ist wenn du ein Schreibfehler machst, der Compiler würde es nicht bemerken und dein Progi könnte starten... ziemlich gefährliche Sache).

@Mammut
Bitte etwas weniger aggressiv!
 

thE_29

Top Contributor
deswegen frage ich ja ob es irgendein schlüsselwort gibt, mit dem man solche Variablen vereinbaren kann!

das es einfach so net gehen ist klar und ist auch gut so ;)
 

Bleiglanz

Gesperrter Benutzer
thE_29 hat gesagt.:
deswegen frage ich ja ob es irgendein schlüsselwort gibt, mit dem man solche Variablen vereinbaren kann!

das es einfach so net gehen ist klar und ist auch gut so ;)

Was heisst schon Schlüsselwort, dazu gehört eine kleine Wissenschaft namens Reflection

Code:
       String klasse = "java.lang.String";
       String methode = "length";
       Class dynaclass = Class.forName(klasse);
       Constructor konst = dynaclass.getConstructor(new Class[]{String.class});
       Object dynaobject = konst.newInstance(new Object[]{"Hallo Welt"});
       Method dynameth = dynaclass.getMethod(methode,null);
       System.out.println(dynameth.invoke(dynaobject,null));
 

meez

Top Contributor
Das impliziert aber, dass du die Klasse schon im Klassenpfad....
Wenn nicht, musst du noch den Classloader setzten...
 

thE_29

Top Contributor
jo, mit reflection kenn ich mich eh aus ;)
meine meistens programme bauen auf, indem sie nicht wissen was ihr "kind" ist, nur hatten sie halt immer die imports, aber so könnte es gehen!

werd mich morgen rumspielen,jedenfalls bleiglanz danke für die Inspiration ;) (weil so gehts net, kann ja net mainclass.class hinschreiben, würde er ja wieder mekkern!)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Java gewerblich nutzen mit externe Bibliothek. Was zu beachten? Allgemeine Java-Themen 18
OSchriever Externe Anwendung beenden Allgemeine Java-Themen 41
T Externe Java Klasen zur Laufzeit einbinden Allgemeine Java-Themen 10
J File in Package erstellen & lesen mit Programmstart in externe Projekt Allgemeine Java-Themen 3
X Threads Externe Variablen in Run Methoden verändern Allgemeine Java-Themen 4
V JTable Externe Lib Allgemeine Java-Themen 2
JavaWolf165 Externe .jar-Dateien in .jar-Datei intigrieren Allgemeine Java-Themen 0
Neumi5694 Externe Skripte Allgemeine Java-Themen 9
L JavaFX JavafX externe FXML laden? Allgemeine Java-Themen 4
S Externe Eclipse Projekte dynamisch einbinden Allgemeine Java-Themen 3
Thallius Externe .jar dynamisch einbinden Allgemeine Java-Themen 5
W Threads Mit Thread und Runtime externe Programme öffnen Allgemeine Java-Themen 0
M Externe Jar sehr langsam Allgemeine Java-Themen 23
C Prozesssteuerung - Speicherhungrige externe Programme werden blockiert Allgemeine Java-Themen 2
F externe module. geht das in Java? Allgemeine Java-Themen 3
G Eclipse Wie mit Ant build.xml externe Jar´s einbinden? Allgemeine Java-Themen 5
M Wie externe System-Ressourcen zwangsweise freigeben Allgemeine Java-Themen 2
B Externe Programme und ProcessBuilder Allgemeine Java-Themen 5
nrg Externe Library Lizenzen Allgemeine Java-Themen 14
D externe programme / Jdesktoppane, ... Allgemeine Java-Themen 6
U Externe Logiken möglich? Allgemeine Java-Themen 8
G externe Properties datei aus Jar File heraus lesen Allgemeine Java-Themen 12
G externe Steuerung von Sprachsoftware Allgemeine Java-Themen 3
C Externe Bilder in Java-Applet blocken? Allgemeine Java-Themen 2
B Eclipse externe Dateien mit einbinden Allgemeine Java-Themen 10
H externe JARs in eigenem Programm-Jar einbinden. Allgemeine Java-Themen 5
N externe Anwendung aktivieren (nicht starten!) Allgemeine Java-Themen 3
H Externe Prozesse und Inputstreams - ausgabe in JTextArea Allgemeine Java-Themen 3
oliver1974 Zugriff auf externe .class Dateien (und resourcen) aus JAR Allgemeine Java-Themen 11
G externe package Allgemeine Java-Themen 7
E externe Anwendung aufrufen und sich selbst beenden Allgemeine Java-Themen 8
W Java und externe Anwendungen Allgemeine Java-Themen 3
J Externe File Emails für JavaMail Allgemeine Java-Themen 4
J Externe .jar bibis in programm .jar einbinden? Allgemeine Java-Themen 9
R externe Libraries in jar-file Allgemeine Java-Themen 16
R Kontrolle über Externe Prozess Allgemeine Java-Themen 5
O Externe Jars in eigene JAr packen in Eclipse Allgemeine Java-Themen 5
M Standardpfad für externe Dateien? Allgemeine Java-Themen 2
R aus Jar auf externe XML-Datei zugreifen Allgemeine Java-Themen 14
I externe Namensliste auslesen Allgemeine Java-Themen 13
M Java2exe Externe Packages einbinden! .JAR und sowas Allgemeine Java-Themen 7
J Externe Ansteuerung (Motor,Licht) mit Java? Allgemeine Java-Themen 4
Gossi Collections (Unbekannte) Liste Sortieren Allgemeine Java-Themen 10
E Interpreter-Fehler unbekannte Exception Allgemeine Java-Themen 12
T ObjectInputStream - Arrayliste, die unbekannte Objekte enthält Allgemeine Java-Themen 9
D unbekannte Anzahl checkboxes Allgemeine Java-Themen 2
TiME-SPLiNTER Unbekannte Anzahl serialisierter Objekte lesen Allgemeine Java-Themen 2
T Unbekannte Fehlermeldung + Lösung? Allgemeine Java-Themen 4
T ClassLoader und Zugriff auf unbekannte Klassen Allgemeine Java-Themen 5
M Verschachtelte Schleifen (unbekannte Tiefe) Allgemeine Java-Themen 3
M Methodenübersicht einer Klasse einsehen Allgemeine Java-Themen 14
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
torresbig Klasse mit extends Calendar über Methoden ändern (Hirnblockade) Allgemeine Java-Themen 7
A Zweite Service Klasse beim Kompilieren Allgemeine Java-Themen 6
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
Atten007 Java-Klasse auf macOS entpacken? Allgemeine Java-Themen 2
M Klasse durch Klassen Aufteilung verbessern, aber wo? Allgemeine Java-Themen 1
E Eine Methode einer extendeten Klasse deakitivieren Allgemeine Java-Themen 12
H Kombination Interface und Abstrakte Klasse bei Generics Allgemeine Java-Themen 3
EinNickname9 Best Practice Singleton und Singleton mit Instanz zu anderer Klasse -Pattern Allgemeine Java-Themen 30
Y ImagePanel von anderer Klasse in eine MainFrame Klasse hinzufügen. Allgemeine Java-Themen 1
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
missy72 Klassen Eigene Klasse MessageWindow ähnlich der Alert Klasse Allgemeine Java-Themen 2
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
kanywayne Java programmieren: Polynom Klasse Allgemeine Java-Themen 4
L Die abzuleitende Klasse als Parameter übergeben Allgemeine Java-Themen 4
S Klassen Einfügen von unbekannter menge an Variablen in eine Klasse mithilfe von ASM Allgemeine Java-Themen 5
C Klasse mit Mockito simulieren Allgemeine Java-Themen 9
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
S Wenn eine Klasse zwei Interfaces mit derselben Methodensignatur implementiert: welche wird aufgerufen? Allgemeine Java-Themen 15
Thallius Key/Value Table in Klasse einlesen Allgemeine Java-Themen 14
S static in Interface und Klasse Allgemeine Java-Themen 2
W Was genau sind IOTools? Kann ich stattdessen nicht die Scanner Klasse verwenden? Allgemeine Java-Themen 3
V Threads Probleme beim Aufrufen von Methoden einer anderen Klasse (Threads) Allgemeine Java-Themen 14
X Collections Gibt es eine Klasse welche die Vorteile von List und HashMap vereint, aber konstante Laufzeit (O(1)) hat in Java? Allgemeine Java-Themen 4
D javassist API Klasse in MethodCall ermitteln Allgemeine Java-Themen 8
kodela Klasse mit "gezipten" Daten Allgemeine Java-Themen 6
J Builder Klasse mit Lombok bauen Allgemeine Java-Themen 2
L Operatoren Java Reflections: Alle Methoden einer Klasse aufrufen ohne Exceptions Allgemeine Java-Themen 5
M [SOAP] - Klasse aus WSDL ausschließen Allgemeine Java-Themen 2
N Generic Type einer Generischen Klasse während der Laufzeit bekommen Allgemeine Java-Themen 2
X Klassen Klasse BreakIterator Allgemeine Java-Themen 6
R Arraylist in andere Klasse leiten und bearbeiten Allgemeine Java-Themen 10
kodela Klassen Klasse "vergisst" ihre Daten Allgemeine Java-Themen 2
pkm Kann eine ServerSocket-Klasse nicht stateful sein? Allgemeine Java-Themen 4
E Socket Dynamische Klasse von ObjectOutputStream lesen. Allgemeine Java-Themen 8
M Matcher-Klasse findet match nicht Allgemeine Java-Themen 6
cool_brivk24 Variablen abfragen von Boolean von anderer Klasse Allgemeine Java-Themen 12
S Seltsames Ergebnis mit Date-Klasse Allgemeine Java-Themen 6
J int Werte in einer anderen Klasse in Arrays speichern Allgemeine Java-Themen 3
D Warum kann ich eine (deflaut) Klasse aus einer Libary in einem anderen Projekt benutzen? Allgemeine Java-Themen 3
Neoline Klassen Singleton Klasse buchmanager Allgemeine Java-Themen 19
M Kapselung Modellierung von Intervallen: Klasse Interval Allgemeine Java-Themen 4
B Übernommene Variablen(werte) aus der Main-Klasse ändern? Allgemeine Java-Themen 9
ReinerCoder Klasse kann nicht public deklariert werden Allgemeine Java-Themen 2
ReinerCoder Methode einer Klasse meldet Fehler "misplaced construct(s)" Allgemeine Java-Themen 13
I Collection - contains-Methode überschreiben (anonyme innere Klasse) Allgemeine Java-Themen 4
X Klassen File-Klasse wird als Directory markiert Allgemeine Java-Themen 8
S Methoden Liste soll Methode aus innerer Klasse aufrufen Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben