tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
861
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Morpheyz Morpheyz ist offline Mitglied
    Registriert seit
    Aug 2008
    Ort
    Solingen
    Beiträge
    14
    Hi,
    ich gerade ein kleines Problem. Ich möchte eine Klasse (oder auch gleich einen Konstruktor) aus eine Methode heraus aufrufen. Damit will ich sozusagen eine "Pseudo-Schleife" erzeugen.
    Sicher kann man das Problem auch eleganter lösen, aber ich möchte es mal so versuchen. Allerdings bin ich bis jetzt daran gescheitert.
    Hab auch nix bei Google finden können.(Steht zwar massig über Klassen aufrufen, aber nicht aus Methoden)

    Hier ist mein Code in sehr stark gekürzter und veränderter Fassung.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    
     
    import java.io.*;
     
    public class console33 {
     
      console33() throws IOException{
     
      }
     
      void Help(){
     
      }
      
      void Attack(){
            
              EnemyAttack();
      }
      
      void Defend(){
     
      }
      
      void EnemyAttack() {
              //Analysis Round
              Analysis(ULife, ELife, MaxDmgR, Züge);
      }
      
      void Analysis(){         
                    main();
      }
      
     
      public static void main(String[] args) throws IOException {
     
      new console33();
     
      }
    }

    Das sieht jetzt wahrscheinlich ziemlich unordentlich und unlogisch aus, aber wenn ich den ganzen Code schreiben würde, wär das zu viel.
     

  2. #2
    Registriert seit
    Mar 2004
    Beiträge
    1.854
    Blog-Einträge
    2
    Static machen und Aufrufen:
    Code :
    1
    2
    3
    4
    
    static void help()
    {
      console33::help();
    }

    Aber warum von der Klasse aufrufen?
    Warum nicht von der Instanz ganz stumpf die Methode aufrufen?

    Code :
    1
    2
    3
    4
    
    void help()
    {
      help();
    }
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

  3. #3
    Morpheyz Morpheyz ist offline Mitglied
    Registriert seit
    Aug 2008
    Ort
    Solingen
    Beiträge
    14
    Also erstaml danke für die Antwort =)
    Aber leider hab ich's irgendwie nicht so ganz verstanden =/

    Also ich möchte, dass die Methode Analysis endweder die Klasse 'main' oder den konstruktor 'console33' aufuft.
     

  4. #4
    Registriert seit
    Mar 2004
    Beiträge
    1.854
    Blog-Einträge
    2
    Konstruktor aus einer Methode heraus erreichst du glaube ich mit
    this();
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

  5. #5
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Klassennamen schreibt man groß.
    Den Konstruktor kannst du mit "new console33();" aufrufen.
    Wenn der Konstruktor der aktuellen Instanz erneut aufgerufen werden soll, warum machst du dann keine private Methode, die du als einziges (neben super()) im Konstruktor aufgerufen wird.
    Die kannst du später erneut aufrufen.

    @Zodiac: Constructor call must be the first statement in a constructor.
    Gäbe doch eigendlich nur eine Endlosschleife.
     

  6. #6
    Anime-Otaku Anime-Otaku ist offline Mitglied Brillant
    Registriert seit
    Aug 2005
    Ort
    Karlsruhe (Baden-Württemberg)
    Beiträge
    905
    Zitat Zitat von ZodiacXP Beitrag anzeigen
    Static machen und Aufrufen:
    Code :
    1
    2
    3
    4
    
    static void help()
    {
      console33::help();
    }
    Wir sind hier nicht bei C++

    static Methoden ruft man in Java mittels Klasse.staticMethode(); auf
    Geändert von Anime-Otaku (04.05.09 um 12:44 Uhr)
     
    Wäre super wenn ihr euren Code in dieser Form einfügt:
    Code java:
    1
    
    System.out.println("Hello World");
    [java]System.out.println("Hello World");[/java]
    Für erledigte Threads dürft ihr den "erledigt"-Button anklicken!
    Über Dank freut sich jeder, der euch geholfen hat - ein Klick auf "Danke" kostet ja nicht mal was
    Blog: http://javaeffective.wordpress.com/

  7. #7
    Registriert seit
    Mar 2004
    Beiträge
    1.854
    Blog-Einträge
    2
    Zitat Zitat von Anime-Otaku Beitrag anzeigen
    Wir sind hier nicht bei C++
    Oh Gott, mein Fehler. Klar muss da ein Punkt hin.
    Schlecht wenn man kreuz und quer durch alle Sprachen schreibt.
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

Ähnliche Themen

  1. Methode in andere Klasse aufrufen?
    Von jbjb im Forum Java Grundlagen
    Antworten: 2
    Letzter Beitrag: 07.01.10, 21:49
  2. Antworten: 3
    Letzter Beitrag: 31.10.08, 23:05
  3. Antworten: 1
    Letzter Beitrag: 08.03.08, 03:45
  4. Antworten: 2
    Letzter Beitrag: 06.06.07, 18:37
  5. Antworten: 2
    Letzter Beitrag: 06.02.06, 19:57