Java Methode aus Klasse aufrufen

rony

Commodore Pro
🎅Rätsel-Elite ’10
Registriert
Jan. 2007
Beiträge
4.970
Hallo,

ich habe etwas mit Java rumgespielt, und auch schon etwas gebaut.
Nun hab ich zwei Klassen gebaut die für sich funktionieren - nun will ich jedoch die Methode der einne klasse in der anderen aufrufen.

Nach einer auswahl soll eine funktion geschehen, für die ich extra eine klasse gemacht habe.

Hier mal mein code mit beiden klassen:

Code:
package krypt;

import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;

public class auswahl {


    public static void main(String[] args) {
        System.out.println ("[1] Einen neuen Text eingeben");
        System.out.println ("[2] Datei einlesen und Verschlüsseln");
        System.out.println ("[3] Roh-Eingabe aus Textdatei ausgeben");
        System.out.println ("[4] Verschlüsselten Inhalt der Textdaei ausgeben");
        System.out.println ("[5] Eine Datei entschlüsseln");
        
        try {
        BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
        String string_zahl = eingabe.readLine();
        
        int zahl = Integer.parseInt(string_zahl);
        
    
        switch (zahl)
         {
           case 1:
              System.out.println ("anweisung1");
              break;
           case 2:
               System.out.println ("anweisung2");
               break;
           case 3:
               System.out.println ("anweisung3");
               break;
           case 4:
               System.out.println ("anweisung4");
               break;
           case 5:
               System.out.println ("anweisung5");
               break;
           default:
               System.out.println ("\n Bitte eine Zahl im Wertebereich von 1 - 5 wählen! \n");
               main(null);
         }
        
        }
        catch (IOException en) {}

    }
}

// ------------- Zweite Klasse -----------------

public class roh_eingabe {

public static void roh_eingabe(String[] args) {
        
        try{
            BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
            String neuer_text = eingabe.readLine();
            
            FileWriter raw_fw = null;
            try{
                raw_fw = new FileWriter ("Original.txt");
                raw_fw.write(neuer_text);
            }
                
                catch ( IOException f ) {
                    System.out.println( "Konnte Datei nicht erstellen" );
                    }
                    finally {
                    try {
                    if ( raw_fw != null ) raw_fw.close();
                    } catch (IOException f) {
                        System.out.println ("Fehler aufgetreten!");
                    }
                    } 
        }
        
        catch( IOException ex ) {
              System.out.println( ex.getMessage() );
            }
}
}

Ich hoffe ich konnte mich verständlich ausdrücken :D
 
Oder bei statischen Methoden, wie hier:

rückgabewert = klassenname.funktion(parameter)
 
jau klappt auf anhieb - da hätte man ja eig. auch selbst drauf kommen können ^^ :freak:
 
Naja, es liegt halt dran wie du es programmierst!
Deine Methode ist statisch (static) und somit ohne Erzeugung eines Objekts aufrufbar

Code:
public static void roh_eingabe(String[] args) {

Wenn du daraus

Code:
public void roh_eingabe(String[] args) {

machst würdest du es wie folgt aufrufen

Code:
roh_eingabe roh = new roh_eingabe(args);

wobei args dein Array von Strings ist
 
Also Java ist eine objektorientierte Sprache.

Du musst also ein Objekt erstellen. Eine Klasse ist sozusagen der Bauplan der Objekte.

Du musst also in in deiner Hauptklasse (die mit der main-Methode) ein Objekt (der anderen Klasse) erzeugen.

roh_eingabe beliebigerNameHier = new roh_eingabe();

Nun existiert dein Objekt. Es kann also genutzt werden

beliebigerNameHier.methodenName(Parameter);

Edit: Würde das static bei der Methode void roh_eingabe entfernen.
 
Zuletzt bearbeitet:
Zurück
Oben