[JAVA] Auf eine Methode in einer anderen Klasse zugreifen?
import static java.lang.System.out;
import java.util.Scanner;
public class Datentypen {
@SuppressWarnings("unused")
public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
out.println("In Java gibt es viele verschiedene Datentypen. Da ich Ihnen die Unübersichtlichkeit sparen möchte,");
out.println("habe ich dieses Programm geschrieben. Dieses Programm enthält jeweils ein Beispiel zu je einem Datentypen.");
out.println("Also, worauf warten Sie? Suchen Sie sich einen Datentypen aus!");
out.println();
out.println("Boolean Char");
out.println("Byte Short");
out.println("Int Long");
out.println("Float Double");
String datentypen = keyboard.next();
switch(datentypen){
case "Boolean":
booleantyp(); //Fehler ist hier!
}
}
}
Zweite Klasse:
public class DatentypenMethoden {
public static void maint(String[] args){
}
public void booleantyp(){
}
}
Wie greife ich jetzt von der Klasse Datentypen auf die Methode "booleantyp()"?
3 Antworten
Entweder du definierst booleantyp als static, also
public static void booleantyp() ...
und greifst dann über den Klassenbezeichner darauf zu:
Datentypmethoden.booleantyp();
oder (besser)
du erzeugst ein Objekt der Klasse Datentypenmethoden mit
Datentypenmethoden dtm = new Datentypenmethoden();
und greifst dann über das Objekt auf die Methode zu:
dtm.booleantyp();
Das public static void main(String[] args) brauchst du nur, wenn die Klasse für sich allein ausführbar sein soll.
Als erstes entfernst du aus der zweiten Klasse die main-Methode. Es gibt pro Programm/Projekt nämlich nur eine. Zu deiner Frage:
Du machst die Methode booleantyp() statisch und dann kannst du in den anderen Klassen so darauf zugreifen:
DatentypenMethoden.booleantyp();
Bitte schaue dir die Grundlagen noch einmal an.
LG Ludwig
Ich bin kein Javamensch, deswegen kann ichs nur verallgemeinert erklären ^^ Du müsstest ein Objekt der Klasse DatetypenMethoden instanzieren, dieses verfügt dann über die Methode booleantyp().
DatentypenMethoden MyVar = new DatentypenMethoden();
und dann
switch(datentypen){
case "Boolean":
MyVar.booleantyp();
}
}
So quasi, sorry für eventuelle Syntaxfehler ^^