Methode aus anderer Klasse verwenden

Status
Nicht offen für weitere Antworten.

bjcoon

Aktives Mitglied
Folgender Code:

Code:
public class Berechnungen {
	public static void main (String[]args) {
		
           final double pi = Math.PI;
	        int radius = 10;

	berechneUmfang(radius,pi);
	berechneFlaeche(radius,pi);

	}

	static double berechneUmfang(int radius, double pi) {
		
      double umfang;
		umfang = 2*pi*radius;
		System.out.println("Der Umfang des Kreises mit " + radius + "LE als Radius lautet: " + umfang);
		return umfang;
	}

	static double berechneFlaeche(int radius, double pi) {

		double flaeche;
		flaeche = Math.pow(radius,2)*pi;
		System.out.println("Die Fläche des Kreises mit " + radius + "LE als Radius lautet: " + flaeche);
		return flaeche;
	}
}

Diese Klasse tut eigentlich nichts Simpleres als auf eine Methode zugreifen.
Wie kann ich mit einer weiteren Klasse namens TestBerechne.java auf die beiden unten deklarierten Methoden berechneUmfang() und berechneFlaeche() zugreifen?

Vielen Dank
 

Prusik

Aktives Mitglied
deine Methoden sind static, dass heisst, es wird kein Objekt benötigt, um darauf zuzugreifen... Bist du dir das bewusst? Falls ja, und du dir das überlegt hast so, dann kannst du so drauf zugreifen:

Berechnungen.berechneUmfang(radius,pi);

Falls nicht, entferne die static-deklarationen und erzeuge eine Instanz der Klasse

Code:
Berechnungen b = new Berechnungen();
b.berechneUmfang(radius,pi);
 
S

SlaterB

Gast
indem du die Operationen aufrufst:
double d = Berechnungen.berechneFlaeche(3,4);

evtl. musst du die Operationen noch public deklarieren
 

bjcoon

Aktives Mitglied
Code:
public class TestBerechnen {
	public static void main (String[] args) {

	Berechnungen.berechneUmfang(10,Math.PI);
	Berechnungen.berechneFlaeche(10,Math.PI);


	}
}

Meine Klasse TestBerechne.java greift nun erfolgreich auf die Methoden der Klasse Berechnungen.java zu?
Wie kann ich die Variablen radius und pi aus der Klasse Berechnungen so deklarieren, dass ich in der Klasse Testberechne auch darauf zugreifen kann?
Wie ihr seht gebe ich dem Methodenzugriff berechneUmfang und berechneFlaeche jeweile fixe Werte und keine Variablen mit auf den Weg?

Danke
 
M

maki

Gast
Lies den lezten Satz von SlaterBs letztem Post ;)
Wende das auf die Konstanten an.

Nachrag: Quatsch, geht nicht, da es lokale Variablen in der main Methode sind.
Mach Instanzvariablen draus und schreibe Getter und Setter dafür, auch brauchst du pro Programm nur eine einzige main Methode(falls überhaupt).
 
G

Guest

Gast
Die Frage ist, ist es auch ohne Erzeugung einer Instanz der Klasse möglich?

Auf die Methoden kann ich ja zugreifen, aber die Variblen radius und pi bleiben unbekannt? Wenn ich die Variablen radius und pi in der Klasse Berechnungen.java als public deklarieren will, dann meldet der Compiler einen Fehler!
Wie kann ich auf die lokalen Variablen in der Klasse Berechnungen.java "radius" und "pi" auch in der Klasse TestBerechne.java zugreifen?

Danke
 
S

SlaterB

Gast
> dann meldet der Compiler einen Fehler!

Folge-Alternative A: für den Rest deines Lebens keine Variablen mehr deklarieren, geht ja nicht

Folge-Alternative B: Fehlermeldung und Code hier hinschreiben, dann kann es korrigiert werden

Folge-Alternative C: nix tun, nur sich über Java beschweren..

------------

> auf die lokalen Variablen in der Klasse Berechnungen

es gibt keine lokalen Variablen in einer Klasse,

definiere statische Variablen oder übergib sie als Paramter an Operationen
 

bjcoon

Aktives Mitglied
Also nochmal zusammenfassend:

Berechungen.java

Code:
public class Berechnungen {

	static final double pi = Math.PI;
	static int radius = 10;

	public static void main (String[]args) {

	berechneUmfang(radius,pi);
	berechneFlaeche(radius,pi);

	}

	public static double berechneUmfang(int radius, double pi) {
		double umfang;
		umfang = 2*pi*radius;
		System.out.println("Der Umfang des Kreises mit " + radius + "LE als Radius lautet: " + umfang);
		return umfang;
	}

	public static double berechneFlaeche(int radius, double pi) {
		double flaeche;
		flaeche = Math.pow(radius,2)*pi;
		System.out.println("Die Fläche des Kreises mit " + radius + "LE als Radius lautet: " + flaeche);
		return flaeche;
	}
}

TestBerechne.java

Code:
public class TestBerechnen {
	public static void main (String[] args) {

	Berechnungen b = new Berechnungen();

	b.berechneUmfang(radius,pi);
	b.berechneFlaeche(10,Math.PI);

	}
}

Mit dem Befehl b.berechneUmfang(radius,pi) greife ich theoretischerweise auf die Methode berechneUmfang(); aus der Klasse Berechnungen.java zu. Das funktioniert auch, allerdings sind die Variablen "radius" und "pi" nicht bekannt bzw. wird mir der Fehler 'cannot resolve symbol' geliefert.
Mit dem Befehl b.berechneFlaeche(10,Math.PI) funktionerts. Ist ja klar. Also?

Die Deklaration als public static Variable funktioniert nicht.

Was kann ich tun, dass die Variablen überall sichtbar sind, ohne zwingend eine Instanz der Klasse erzeugen zu müssen?

Danke
 

bjcoon

Aktives Mitglied
Prusik hat gesagt.:
Falls nicht, entferne die static-deklarationen und erzeuge eine Instanz der Klasse

Code:
Berechnungen b = new Berechnungen();
b.berechneUmfang(radius,pi);

Dieser Hinweis ist richtig, allerdings kann ich wie gesagt nicht auf die in Berechnungen.java deklarierten Variablen radius und pi zugreifen? Hilfe!!
 
S

SlaterB

Gast
> Die Deklaration als public static Variable funktioniert nicht.

tolle Fehlerbeschreibung, ich sehe du hast gelernt,
lies dir nur aus Spass trotzdem noch mal Folge-Alternative A-C durch

-----------

> b.berechneUmfang(radius,pi)

berechneUmfang ist eine statische Operation, die solltes du direkt mit
Berechnungen.berechneUmfang(radius,pi);
aufrufen, das Objekt hat hier keinen Sinn

---------

radius und pi sind selbstverständlich nicht bekannt, was sollte passieren, wenn sie in einer andere Klasse definiert sind,
was wenn in verschiedenen Klassen mehrmals definiert?

soll Java hier schauen, welche Klasse b hat und danach dort die Variablen suchen?
nein, du musst sie schon direkt eindeutig beschreiben:

Berechnungen.berechneUmfang(Berechnungen.radius,Berechnungen.pi);


> Was kann ich tun, dass die Variablen überall sichtbar sind, ohne zwingend eine Instanz der Klasse erzeugen zu müssen?

public und static,

static hast du schon, du brauchst kein Objekt
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Array in Main Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 3
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
M Klassen Methode in anderer Klasse aufrufen? Java Basics - Anfänger-Themen 3
M Methode in anderer Klasse aufrufen Java Basics - Anfänger-Themen 5
B Mit methode Objekt aus anderer Klasse erstellen Java Basics - Anfänger-Themen 6
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
J Methoden Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 12
L Klassen Methode aus anderer Klasse Java Basics - Anfänger-Themen 13
M Klassen Methode aus anderer Klasse nicht aufrufbar Java Basics - Anfänger-Themen 11
F Methode anderer Klasse aufrufen Java Basics - Anfänger-Themen 1
P Aufruf Methode anderer Klasse Java Basics - Anfänger-Themen 5
I Rückgabewert einer Methode in anderer Klasse verwenden Java Basics - Anfänger-Themen 2
M Dynamische Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 11
T [Erledigt] Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 0
L Erste Schritte Methode aus anderer Klasse verwenden Java Basics - Anfänger-Themen 16
C Problem mit Zugriff auf Variable bzw. get-Methode in anderer Klasse Java Basics - Anfänger-Themen 2
A Methode aus anderer Klasse Java Basics - Anfänger-Themen 5
H Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 7
C Objekt X über Methode aus anderer Klasse verändert Java Basics - Anfänger-Themen 3
I Von einer Methode eines Objektes auf Attribut eines Objektes anderer Klasse zugreifen Java Basics - Anfänger-Themen 4
S Main-Methode aus anderer Klasse heraus starten Java Basics - Anfänger-Themen 8
S Zugriff auf Methode anderer Klasse Java Basics - Anfänger-Themen 6
T Aufrufen von get-Methode aus anderer Klasse (absolute Anfängerfrage) Java Basics - Anfänger-Themen 2
J Methode anderer Klasse aufrufen ;-) Java Basics - Anfänger-Themen 5
E Methode aus anderer Klasse ausführen Java Basics - Anfänger-Themen 3
I Festellen wann Methode in anderer Klasse fertig ist Java Basics - Anfänger-Themen 5
G Kann methode aus anderer Klasse nicht aufrufen Java Basics - Anfänger-Themen 7
G private methode wird aus anderer klasse aufgerufen? Java Basics - Anfänger-Themen 3
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
julian0507 Array aus Methode in anderer Methode sichtbar machen Java Basics - Anfänger-Themen 10
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
B Schleife von anderer Methode stoppen? (Start continue) Java Basics - Anfänger-Themen 18
PaperHat Methoden als Parameter anderer Methode verwenden Java Basics - Anfänger-Themen 11
T Methoden Auf Variabler aus anderer Methode zugreifen Java Basics - Anfänger-Themen 5
N Variablen Variable in Main deklarieren und in anderer Methode nutzen Java Basics - Anfänger-Themen 12
P Methoden Methode in anderer Methode aufrufen Java Basics - Anfänger-Themen 4
Mr. Pink Graphics2D in anderer Methode aufrufen Java Basics - Anfänger-Themen 6
I Im JFrame Inhalte verändern per Methode aus anderer Class Java Basics - Anfänger-Themen 5
D Methoden Methode in anderer .class Datei Funktioniert nicht. Java Basics - Anfänger-Themen 11
M OOP ActionPerformed Methode aus anderer AP aufrufen? Java Basics - Anfänger-Themen 5
M Aus anderer Methode painten Java Basics - Anfänger-Themen 2
I Kein Zugriff auf erstelltes Objekt aus anderer Methode Java Basics - Anfänger-Themen 6
H Methode aus anderer Datei aufrufen Java Basics - Anfänger-Themen 11
D Variable einer Methode in anderer Methode aufrufen Java Basics - Anfänger-Themen 19
G JTabbedPane zugriff von anderer Methode Java Basics - Anfänger-Themen 2
S JTextField in anderer Classe mit getter Methode auslesen. Java Basics - Anfänger-Themen 2
A Auf ausgewählte Items der Liste in anderer Methode zugreifen Java Basics - Anfänger-Themen 3
EagleEye methode in anderer java datei aufrufen Java Basics - Anfänger-Themen 27
T Rekursive Methode Java Basics - Anfänger-Themen 13
Ü Methode soll Quadrat aus der Summer zurückgeben Java Basics - Anfänger-Themen 10
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
Leyla Spezifischte Methode Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
C Zugriff auf Methode Java Basics - Anfänger-Themen 2
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
M Methode sperren bis ein Kriterium erfüllt wurde Java Basics - Anfänger-Themen 3
D Switch Case Methode aufrufen Java Basics - Anfänger-Themen 3
C Unbekannte Methode add bei Klasse die JTree erweitert Java Basics - Anfänger-Themen 14
M methode aufrufen ohne parameter Java Basics - Anfänger-Themen 1
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
Ostkreuz Wieso wird die Methode nochmal aufgerufen? Java Basics - Anfänger-Themen 5
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
Say super.methode / super.variable und super(variable) Java Basics - Anfänger-Themen 2
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
D Interface Methode wird ungewollt in der Subklasse überschrieben Java Basics - Anfänger-Themen 5
L Methoden Eine Methode um zu testen ob es ein Nachbar gibt Java Basics - Anfänger-Themen 10
til237 Iterative Methode in rekursive Methode umschreiben Java Basics - Anfänger-Themen 4
M Daten aus errechneter Methode in Datenbank(SQLite) schreiben Java Basics - Anfänger-Themen 60
D next() Methode mehrfach verwenden Java Basics - Anfänger-Themen 1
Ostkreuz Methoden Von Dezimal zu Hexadezimal Methode toHex Java Basics - Anfänger-Themen 2
I Entity Objekt nicht gefunden -> Webhook empfangen in der gleichen Methode (Transaktion) Java Basics - Anfänger-Themen 37
N Throw an Main Methode übergeben Java Basics - Anfänger-Themen 7
M Methoden Methode 'wiederhole' nicht gefunden (Uebersetzungsfehler) Java Basics - Anfänger-Themen 1
H Zu langen String aufteilen - bequeme Methode? Java Basics - Anfänger-Themen 14
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
S Array mit Methode löschen Java Basics - Anfänger-Themen 2
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
M Anzahl Kommandozeilenparamter mittels Methode Java Basics - Anfänger-Themen 11
D Methode: Array Reihenfolge tauschen Java Basics - Anfänger-Themen 3
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
J Die statische Main-Methode ändert Instanzvariable? Java Basics - Anfänger-Themen 10
D Methode aus dem Aufrufer aufrufen Java Basics - Anfänger-Themen 1
T IOStreams read(byte[]b) methode Java Basics - Anfänger-Themen 2
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
U Beispiel Methode size() vom "Collection"-interface... Wie kann man sichtbar machen, was die Methode unter der Haube macht? Java Basics - Anfänger-Themen 8
D Warum kann ich hier nicht auf die Methode zugreifen? Java Basics - Anfänger-Themen 5
M generate Methode für Streams Java Basics - Anfänger-Themen 6
M Methoden Zweidimensionaler Array mit Setter Methode ändern Java Basics - Anfänger-Themen 4
I Optionaler Parameter bei Methode, der nur optional ist? Java Basics - Anfänger-Themen 6
berserkerdq2 Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate? Java Basics - Anfänger-Themen 3
T Linked List set-Methode Java Basics - Anfänger-Themen 2
D Arrays an replaceAll-Methode übergeben Java Basics - Anfänger-Themen 12
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32

Ähnliche Java Themen

Neue Themen


Oben