Erste Schritte Klassenname zurückgeben, keine instanz

Opi3

Aktives Mitglied
Hallo,
ich wollte fragen, ob es möglich ist,
einen Klassennamen zurückzugeben, und daraus ein Object zu machen?

in As3 hätte das so ausgesehen:
Code:
var classe:class;

classe = new getClassname(a,b)();

function getClassname(a:int,b:int):class
   {
   if(a<b){

      return classenNameA;

             }else{

      return classenNameB;

   }

Opi3
 
:autsch:

Code:
private Class<Screen> screen;
return screen;

ich glaube, ich melde mich unter einem anderen Nick nochmal an. :noe:

Opi3
 
ausser du hast einen anderen Grund die nochmal neu anmelden zu müssen 😉

Das war eher ein Scherz, da bis jetzt jeder meiner Posts unnötig war, siehe hier.
Ich komm einfach nicht drauf, kaum habe ich gepostet fällt mir die Lösung ein...
;(

Viele Grüße Opi3
 
Sorry für den Dopple post.

Ich wollte jetzt noch fragen wie ich dann aus der variable des Typen Class ein Object mache?
Java:
Class blabla = classenName;
new blabla(); // <- Fehler, noch vorm compilieren.

Opi3
 
Das war eher ein Scherz, da bis jetzt jeder meiner Posts unnötig war, siehe hier.
Ich komm einfach nicht drauf, kaum habe ich gepostet fällt mir die Lösung ein...
;(

Viele Grüße Opi3

Es gibt soviele Leute die einfach nur posten und keine 2 Minuten darüber nachdenken, bei dir sieht man wenigstens das du dir darüber Gedanken machst, auch nachdem du bereits nachgefragt hast.
 
du brauchst keine Methode schreiben, die dir den Klassennamen liefert. das hat jede Klasse implizit:

Java:
public class YourClass {
    public static void main(String[] args) throws InstantiationException, IllegalAccessException {
    	YourClass instance = YourClass.class.newInstance();
    } 
}

auch wenn du eine Instanz von deiner Klasse hast, gibt es eine Methode dafür. Diese wird von Object geerbt.

mich würde aber noch interessieren, wofür du das genau brauchst 🙂
 
mich würde aber noch interessieren, wofür du das genau brauchst

Mich auch :lol:

Ich mache mich gerade daran mein erstes spiel zu schreiben (ein Pong Klone);

Das hat eine Haupt Klasse die von JFrame erbt.
Dan giebt es eine Klasse Screen, die von JPanel erbt, von der wiederum die Screen's erben (Intro, Menue, ...);

Jetzt habe ich ein Interface (ScreenCloseListener);
das hat die Methode screenClose(Class nextScreen);

Das Hauptfenster kann jetzt "listener" am Screen registrieren:

meinScreen.addCloseListener( new irgendeineClasseDieScreenCloseListenerImplementiert ());

die ScreenCloseListener werden jetzt im Screen in einem Vector verwaltet.
Wenn der Screen mit seinem Programm durch ist teilt er das mit, indem er in allen bei ihnen registrierten Listenern screenClose aufruft, wobei er als Parameter den Namen eines Screens mit giebt,
den er jetzt gerne hätte(vorausgesetzt, die "MainClass" hat nichts dagegen) das Prinzip habe ich früher auch immer angewandt noch in Arbeit aber ein bsp <- in As3


Opi3
 

Anhänge

Zuletzt bearbeitet:
das macht man mit interfaces.... also die Klasse die du an deinen ScreenCloseListener anmeldest als Interface und nicht als Class Object
 
Ich glaube, da habe ich doof erklärt:
Es wierd nicht am ScreenCloseListener angemeldet,
sondern eine ScreenCloseListener implementierende Classe am Screen.

Oder wie meinst du das?

Opi3
 
Lass mich raten, den Vector hast du in der Schule / Uni gelernt?

Ich bin jetzt (ganz frisch) in der 9 Klasse,
da haben wir noch kein Informatik im Stundenplan,
ich schau mir ein Tuturial im Internet an und versuche mir dann den guten (oder schlechten von As3 weiß ich das man erst mit der Zeit lernt was was ist) Stil anzueignen.

Opi3
 
Danke,
aber genau das Thema,
mit den Verschiedenen Screens wierd doch nicht angesprochen?
Naja, gerade eben nur überflogen, werde es mir jetz mal angucken,
Vielen Dank.

Opi3


Pong ist dann kein Problem mehr^^
Ich würde so weit gehen, zu sagen es ist auch jetz kein Problem (zumindest nichts was sich mit Google nicht schnell lösen läst) das problem ist viel mehr der Code, nicht das Coden 😀
 
mit java kann man genug shellbasierend machen, was mindestens genauso interessant ist. du hast doch nichts davon, wenn du dir mit halbwissen irgendein gui zusammenbastelst. dafür gibt es übrigens auch wysiwyg's, die dir die, meiner meinung nach eher lästige, gui-programmierung abnehmen (z.B. windowbuilder pro).
 
Zuletzt bearbeitet:
Mir geht's eigentlich ums Programmieren, deshalb will ich mir nichts abnehme lassen😉

aber ich habe eingesehen, die GUI erstmal im Zeitplan zu verschieben, so ist es nicht.;(

Viele Grüße,
und Vielen Dank an alle Opi3
 
klar sollte man erstmal einen gui selber geschrieben haben, bevor man mit windowbuilder o.ä. anfängt aber der signifikante code hängt nicht im gui sondern dahinter.
ich empfehle für den anfang sehr gerne das tutorial: Java Tutorial interaktiv - Programmieren lernen mit Java da sind viele programmieraufgaben dabei
wennste damit durch bist, kannste bei der insel weitermachen. die üblichen studiumaufgaben kannste natürlich auch machen (gibt es hier im forum genug threads dazu - einige auch mit kompletter aufgabenstellung)
 

Neue Themen


Zurück
Oben