Methoden aufrufen - auch klassenübergreifend?

Wuast

Bekanntes Mitglied
Hallo mal wieder.
Ich glaube ich denke oft zu kompliziert und tu mich daher irgendwie schwer, die Umsetzung der ganzen Klassen, Objekte und Methoden in der IDE zu verstehen. Ich packe auch mal einen Screenshot rein von meiner IDE, vllt. ist das ja totaler Humbuck, was ich da veranstaltet habe :D Alle Übungsaufgaben schreibe ich in das Feld, was im Screenshot einsehbar ist (daher zur veranschaulichung der 2. Screenshot).


Zu meinen Verständnisproblemen:
1. Darf ich innerhalb von einem Projekt eine neue Klasse aufmachen und die Objekte, die ich in dieser neuen Klasse mithhilfe von Methoden schreibe, in einer anderen Klasse aufrufen?

2. Wie sieht es innerhalb der selben Klasse aus? Bisher habe ich alle Mini-Programme in meiner Klasse "Übungsaufgaben" in meinem Projekt "Testprogramm" geschrieben.

3. Die Main-Methode brauche ich doch nur ein einziges mal, nämlich in der Klasse, an die ich die verschiedenen Klassen und Methoden schicken will ... oder ist das falsch?

4.Warum funktioniert das xyz nicht?

TL();
Java:
class TL{
    public static void TL() {
        System.out.println("__________");
    }
}

public class ÜbungsaufgabenModul {

    public static void main(String[] args) {

    TL();

the method xyz is undefined for the type [Name der Klasse, hier ÜbungsaufgabenModul].

Ich mein... ich schreibe doch nicht alles in die gleiche Klasse, wenn ich YouTube-Videos zu bestimmten Themen schaue, haben die Leute immer die ganze Explorer-Spalte voll mit Projekten und Klassen. Ich mache aber irgendetwas immer falsch.

Hoffe, mein Problem ist klar. Ich freue mich über alle Hinweise und Antworten. Danke schon mal und LG
Yannik
 

Anhänge

  • IDE Screenshot 1.jpg
    IDE Screenshot 1.jpg
    219,4 KB · Aufrufe: 1
  • IDE Screenshot 2.jpg
    IDE Screenshot 2.jpg
    225,6 KB · Aufrufe: 0
Zuletzt bearbeitet:

mihe7

Top Contributor
Zu meinen Verständnisproblemen:
Da muss man etwas ausholen :)

Darf ich innerhalb von einem Projekt eine neue Klasse aufmachen und die Objekte, die ich in dieser neuen Klasse mithhilfe von Methoden schreibe, in einer anderen Klasse aufrufen?
Du schreibst in Java keine Objekte und schon gar nicht mit Methoden. Auch rufst Du keine Objekte auf.

Du schreibst Klassen, die Methoden enthalten, und erzeugst mit Hilfe dieser Klassen Objekte. Aufgerufen werden Methoden.

Und ja, Du darfst in Deinem Projekt viele Klassen haben, Du kannst in einer Klasse Objekte anderer Klassen erstellen und die Objekte können auch herumgereicht werden. Selbstverständlich darfst Du auch die Methoden aufrufen, die die Klasse eines Objekts anbietet.

Wie sieht es innerhalb der selben Klasse aus? Bisher habe ich alle Mini-Programme in meiner Klasse "Übungsaufgaben" in meinem Projekt "Testprogramm" geschrieben.
Das funktioniert genauso.

Warum funktioniert das xyz nicht?
xyz? Du meinst das TL()? Das TL funktioniert in main deswegen nicht, weil die Methode in einer anderen Klasse (die dummerweise auch TL heißt) definiert wurde. Da die Methode static ist, wird kein Objekt benötigt, um die Methode aufzurufen, stattdessen kannst Du TL.TL(); (= Klasse.Methode()) schreiben. Wäre die Methode nicht static, bräuchtest Du eine Instanz der Klasse, also ein Objekt:
Java:
TL tl = new TL(); // hier ist nicht die Methode TL() sondern der Konstruktor der Klasse TL gemeint.
tl.TL(); // ruft die Methode TL() des Objekts tl auf.
Die Main-Methode brauche ich doch nur ein einziges mal
Richtig. Die main-Methode ist die Methode, die beim Start Deines Programms ausgeführt wird.

nämlich in der Klasse, an die ich die verschiedenen Klassen und Methoden schicken will ... oder ist das falsch?
Andersrum: die Klasse mit der main-Methode erzeugt Objekte anderer Klassen und ruft deren Methoden auf.

Ich mein... ich schreibe doch nicht alles in die gleiche Klasse, wenn ich YouTube-Videos zu bestimmten Themen schaue, haben die Leute immer die ganze Explorer-Spalte voll mit Projekten und Klassen. Ich mache aber irgendetwas immer falsch.
Richtig. Nehmen wir mal ein Brettspiel wie Schach. Dort könntest Du Klassen wie Spieler, Spielbrett und Figur finden. Oder sagen wir, Du möchtest ein Programm zur Fakturierung schreiben, dort findest Du vielleicht die Klassen Beleg und Belegposition, Kunde, Adresse usw. Eine bestimmte Rechnung wäre dann z. B. ein Objekt der Klasse Beleg. Dieses Objekt könnte Bezug auf ein Objekt der Klasse Kunde und ein Objekt der Klasse Adresse (beispielsweise als Rechnungsanschrift) nehmen.
 

Wuast

Bekanntes Mitglied
Wenn was unklar sein sollte, einfach nochmal fragen.
Ich frage doch nochmal eine Sache nach - einfach, um sicher zu sein.

Also wenn ich bei Eclipse auf file->new->class gehe, erzeuge ich eine neue klasse. Die IDE erstellt mir dann ein neues Fenster im Explorer, wo noch nichts drin steht. Was ich dort reinschreibe, kann ich dann in jener Klasse, die meine main darstellt, als Objekt aufrufen.
Ich kann aber auch hingehen und innerhalb jenem Fensters, in welchem ich die erste Klasse mit der Main erstellt habe, neue Klassen schreiben. Diese dürfen nur nicht innerhalb der selben main Klasse (durch die { ... } eingeklammert) stehen, sondern davor oder danach. Klasse ist demnach Klasse, egal, WO in der IDE sie dargestellt wird - solange eben nicht in einer anderen Klasse wie bsp. der, die die main enthält.
In komplexen Programmen würde man der Übersicht halber wohl verschiedene Fenster in der IDE für die Klassen nehmen und sie dann in der Main aufrufen. In der Main würden vermutlich dann wenn überhaupt nur bestimmte Klassen erstellt werden?!

Das ist jetzt mein Verständnis der ganze Kiste. Ist das soweit korrekt?

Und an die Experten noch eine kurze andere Frage:
Warum steht bei mir im Skript
Java:
System.out.print("\n");   /das, anstelle von

System.out.println();
?
Macht doch das selbe und hat erstmal nur Verwirrung gestiftet. Oder check ich das nicht?

Danke für die Hilfe!! :)
 
K

kneitzel

Gast
Ja und nein. Sobald eine Klasse public ist, muss diese in einer Datei stehen, die den gleichen Namen hat wie die Klasse.

Damit ist es nicht egal, wo und wie die Klasse steht. Und auch für die Lesbarkeit ist es natürlich besser, das immer in die entsprechende Datei packen.

Und bezüglich dem print vs. println:
Generell gibt es viele Wege, die zum Ziel führen und oft kommt unter dem Strich das Gleiche raus.

Edit: zu früh aufs Absenden gekommen:
Der Code ist hier nicht identisch. Das print sendet nur ein \n. Das println sendet den Zeilenumbruch des Systems. Bei Unix/Mac ist es ein \n, bei Windows ist es eine \r\n Kombination.
 

Wuast

Bekanntes Mitglied
Ja und nein. Sobald eine Klasse public ist, muss diese in einer Datei stehen, die den gleichen Namen hat wie die Klasse.

Damit ist es nicht egal, wo und wie die Klasse steht. Und auch für die Lesbarkeit ist es natürlich besser, das immer in die entsprechende Datei packen.
Bpsw.:

Java:
public static void BeispielKlasse(){
    (...)
}

darf nicht über die File-New-Class in einem separaten Fenster geöffnet sein, weil ich deren Objekte sonst nicht mehr in dieser Klasse
Java:
 public class BeispielProgramm {

public static void main (String [] args) {
    (...)        /hier würde ich die ganzen Objekte aufrufen?!
}
aufrufen kann, die dann eben auch die main enthält?

Das ist ja zum Heulen :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
H Kann man Methoden öfter aufrufen? Java Basics - Anfänger-Themen 2
H Methoden in anderen Methoden aufrufen Java Basics - Anfänger-Themen 6
P Methoden aufrufen - Fehler Java Basics - Anfänger-Themen 20
T Externe Methoden aufrufen Java Basics - Anfänger-Themen 3
Fishmeaker Methoden mit Methoden aufrufen - Programm hängt sich auf Java Basics - Anfänger-Themen 5
B Methoden Methoden Aufrufen Java Basics - Anfänger-Themen 6
O Zwei Fragen zu Methoden Aufrufen Java Basics - Anfänger-Themen 5
K Erste Schritte Methoden im Wechselspiel durch zwei Objekte aufrufen Java Basics - Anfänger-Themen 20
D Methoden aus Action Listenern aufrufen Java Basics - Anfänger-Themen 7
M Methoden Methoden hintereinander aufrufen Java Basics - Anfänger-Themen 4
K OOP Methoden einer anderen Klasse aufrufen Java Basics - Anfänger-Themen 7
staxx6 ArrayList Methoden aufrufen bestimmter Klassen Java Basics - Anfänger-Themen 4
D Kapselung Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 7
C Methoden zwingen abwechselnd aufrufen Java Basics - Anfänger-Themen 8
C Methoden mit wechselndem Namen in Schleife aufrufen Java Basics - Anfänger-Themen 11
alderwaran überladene methoden mit allen möglichen typen aufrufen Java Basics - Anfänger-Themen 3
W Methoden aufrufen Java Basics - Anfänger-Themen 6
L Methoden von anderen Klassen Aufrufen Java Basics - Anfänger-Themen 5
Z Methoden über Parameter aufrufen Java Basics - Anfänger-Themen 6
G ArraylList aus Klassen --> Methoden der Klassen aufrufen Java Basics - Anfänger-Themen 3
JohnMurdoch Methoden von verschiedenen Objekten in Liste aufrufen Java Basics - Anfänger-Themen 3
M Methoden von Klassen aufrufen Java Basics - Anfänger-Themen 4
R Private Methoden von auserhalb aufrufen Java Basics - Anfänger-Themen 2
A Methoden von externen Klassen aufrufen Java Basics - Anfänger-Themen 3
H Instanzen erzeugen und Methoden aufrufen Java Basics - Anfänger-Themen 5
M Methoden aufrufen Java Basics - Anfänger-Themen 3
G Methoden aufrufen Java Basics - Anfänger-Themen 5
H Methoden aus anderen Klassen aufrufen Java Basics - Anfänger-Themen 3
M Methoden aufrufen Java Basics - Anfänger-Themen 8
emreiu Methoden Rekursive Methoden Runter- & Hochzählen Java Basics - Anfänger-Themen 2
U Funktionale Interfaces mit mehreren abstrakten Methoden? Java Basics - Anfänger-Themen 8
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
J Argumente in Methoden übergeben Java Basics - Anfänger-Themen 1
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
Say Class scope und Instance scope und Getter nur selbstgeschrieben Methoden Java Basics - Anfänger-Themen 11
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
Renjiroo Java Bmi Rechner mit Methoden Java Basics - Anfänger-Themen 4
frager2345 Thread - Methoden synchronized deklarieren Java Basics - Anfänger-Themen 10
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
Alen123 Erstes Arbeiten mit Methoden. Java Basics - Anfänger-Themen 5
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13
M Erklärung von Ausnahmebehandlung in Methoden Java Basics - Anfänger-Themen 13
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
L Rekursive Methoden Java Basics - Anfänger-Themen 14
X Wie erreiche ich, dass ein Robot weitere Attribute hat, die nicht materialisiert sind, sondern nur über get/ set-Methoden simuliert sind? Java Basics - Anfänger-Themen 1
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
Kotelettklopfer Methoden nicht aufrufbar Java Basics - Anfänger-Themen 34
R Schulaufgabe, Bruache Hilfe mit non-static Methoden Java Basics - Anfänger-Themen 2
S Vererbung Abstrakte Methoden: Wozu das Ganze?! Java Basics - Anfänger-Themen 7
S abstrakte methoden in subclass? Java Basics - Anfänger-Themen 7
S Methoden - Warum int wenn auch void? Java Basics - Anfänger-Themen 3
CptK Interface Functional interface mit mehreren Methoden Java Basics - Anfänger-Themen 6
P Objekt in mehreren Methoden verwenden. Java Basics - Anfänger-Themen 3
M Aufruf von statischen Methoden einer anderen Klasse Java Basics - Anfänger-Themen 15
lougoldi Verkettung von Methoden und Konstruktoren Java Basics - Anfänger-Themen 4
Zeppi OOP Methoden mit einander Verknüpfen Java Basics - Anfänger-Themen 6
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6
A Parametar übergabe zwischen Methoden Java Basics - Anfänger-Themen 26
D Methoden nach einer bestimmten Reihenfolge ausführen. Java Basics - Anfänger-Themen 20
P Wie rufe ich Methoden mit einer Referenz auf eine Klasse||Objekt auf Java Basics - Anfänger-Themen 4
O Attribute die Methoden zählen Java Basics - Anfänger-Themen 5
M Bräuchte Hilfe bei diesen Methoden Java Basics - Anfänger-Themen 4
G Methoden Methoden mit versch. Datentypen Java Basics - Anfänger-Themen 1
T Ich habe eine Variabel die nicht Methoden übergreifend ist. Kann mir jemand Helfen :) Java Basics - Anfänger-Themen 5
Junger_Basileus Celsius -> Fahrenheit / Strukturierung in statischen Methoden Java Basics - Anfänger-Themen 7
J Verschachtelte Methoden Java Basics - Anfänger-Themen 9
Kawastori Hilfe bei Methoden Übung Java Basics - Anfänger-Themen 6
veryck Methoden Rekursive Methoden mit Rückgabeparameter Java Basics - Anfänger-Themen 9
C Methoden können nicht auf Instanzvariable der Klasse zugreifen Java Basics - Anfänger-Themen 3
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
P Klasse hat keinen Zugriff auf getter/setter-Methoden eines Objektes Java Basics - Anfänger-Themen 9
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
M Gettter/Setter Methoden Klassenfelder kapselung und zugriff? Java Basics - Anfänger-Themen 1
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
C Taschenrechner (switch) in Taschenrechner mit Methoden umwandeln Java Basics - Anfänger-Themen 115
H Methoden in großen Klassen gruppieren oder auslagern? Java Basics - Anfänger-Themen 10
G Generics Methoden Java Basics - Anfänger-Themen 7
L Test-Methoden schreiben Java Basics - Anfänger-Themen 13
S throws bei Methoden Java Basics - Anfänger-Themen 4
L Best Practice Code Refactoring für Methoden mit fast gleicher Aufbau Java Basics - Anfänger-Themen 6
I Greedy Methode Methoden nutzen Java Basics - Anfänger-Themen 3
C Methoden-Parameter ist Interface Java Basics - Anfänger-Themen 5
A Klassen und methoden Java Basics - Anfänger-Themen 15
S Übergabe von Arrays an Methoden Java Basics - Anfänger-Themen 20
L Methoden Wie Löse ich ext Methoden Aufruf Fehler? Java Basics - Anfänger-Themen 3
A Bankweverwaltung mit Klassen und Methoden Java Basics - Anfänger-Themen 14
B Methoden Ausgeben Aufgabe Java Basics - Anfänger-Themen 15
M Aufsplitten von Methoden in andere Klassen Java Basics - Anfänger-Themen 2
T Methoden Verständnis Java Basics - Anfänger-Themen 14
M Feste Reihenfolge von dem Ablauf von Methoden Java Basics - Anfänger-Themen 7
G Java Abstrakte Methoden Java Basics - Anfänger-Themen 2
N Klassen Warum kann meine Klasse nicht auf Methoden der anderen Klasse zugreifen? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben