Parameter aus Konstruktor an Methode/Funktion übergeben

Status
Nicht offen für weitere Antworten.
P

PeterLustig

Gast
Hi
es ist wohl eine einfache Frage, aber ich finde die Lösung nicht.

Btw: es handelt sich hier um KarelJ(-->Google) und nicht das "echte" Java :autsch:

Wenn ich eine Instanz der Klasse Maurer erzeuge gebe ich ihm die Parameter street,avenue,dir,laenge mit.
Damit soll er arbeiten.
Im Moment fängt er an zu arbeiten nachdem die Instanz erzeugt worden ist.
Es soll allerdings so sein, dass ich eine Instanz von Maurer erzeuge und er erst anfängt zu arbeiten wenn ich sage Maurer_Name.arbeite();
Ich will hier aber, dass er auf die Parameter zurückgreift die er über den Konstruktor bekommen hat und nicht erneut die Parameter in arbeite(Parameter...) übergeben.

Gruß und Danke!

Code:
class Maurer extends Mitarbeiter{
    void arbeite(int street, int avenue, direction dir, int laenge){
		//Was er tun soll
	}
	int benoetigeBeeper(){
		return 3;
	}
	Maurer(int street, int avenue, direction dir, int laenge){		//spezifikationen für die Mauer werden hier übergeben
		super();
		arbeite(street, avenue, dir, laenge);
	}
}
 
G

Guest

Gast
Ach und ich habe vergessen:
Der Return-Wert in benoetigePeeper() ist nur ein Pseudowert.

Wie mache ich es, dass Maurer_Name.benoetigeBeeper() mir den Wert ausgibt, den ich im Konstruktor als Parameter Laenge übergeben habe?
 

0x7F800000

Top Contributor
Was'n das schon wieder für eine Pest?

Lieber PeterLustig, du bist leider Opfer von unfähigen Pädagogen geworden. Egal wer dich dazu zwingt, diesen Müll zu benutzen: ruf bei Sun an, und melde den Bastard. Hoffentlich wird Sun ein dekontaminierungsteam mit Flammenwerfern vorbeischicken. :autsch:

Dann schnappst du dir ein x-beliebiges Buch oder tutorial über normales Java, und lernst erstmal ein paar basics, dann erledigen sich solche Fragen automatisch. :toll:

Ne, ich mein, leute, schaut's doch mal an :( : da schreibt einer irgendeine dämliche jar und bezeichnet das auch noch als eine "an Java angelehnte Sprache" :x :x :x
 

Marco13

Top Contributor
Code:
class Maurer extends Mitarbeiter{
    private int street = 0;
    void arbeite(){
        machWasMit(this.street);
   }
   Maurer(int street, int avenue, direction dir, int laenge){      //spezifikationen für die Mauer werden hier übergeben
      super();
      this.street = street;
    ....
   }

}
die anderen genauso wie street (als Instanzvariablen speichern)
 
P

PeterLustig

Gast
Punkt1:
Ich habe zu kompliziert gedacht... man kann den Quatsch ja über Variabeln in den Klassen realisieren.
Ich dachte da müsste es auch andere Wege geben.

Punk2:
@Andrey
Das ist schon recht anmaßend was du da sagts. "Unfähige Pädagogen, Pest"
Wenn ich sage deine Mutter kann scheiße kochen ist das eine Aussage, die ist genauso sinnfrei aus dem Raum gegriffen wie die deinige....
Ich meine beledigst gerade etwas ohne zu wissen was es überhaupt ist. Ich behaupte jetzt einfach mal dass meine "Pädagogen" doch einer recht renommierter Institution angehören und diese "Pest" durchaus eine Daseinsberechtigung hat.



Bla!!



Ich hätte noch eine Frage:

In der Methode einer Klasse erzeuge ich Instanzen einer anderen Klasse.
Innerhalb der Methode tuEtwas(); kann ich alle Methoden/Funktione etc von InstanzName ausführen.
Wie kann ich jetzt aus der Methode tuEtwasAnderes() auf InstanzName zugrefen?

Folgender Code würde den Fehler "InstanzName cannot be resolved" liefern.

Z.b. so
Code:
class irgenEineKlasse{
  void tuEtwas(){
    andereKlasse InstanzName = new andereKlasse(parameter);
    InstanzName.methodeX();
  }
  void tuEtwasAnderes(){
    InstanzName.methodeY();    //Fehlerquelle
  }
}
 
P

PeterLustig

Gast
Irgendwo fehlt ein "du" ... wer es findet bekommt nen keks
 

Murray

Top Contributor
In Deinem Beispiel ist InstanzName eine lokale Variable, die nur in der Methode bekannt ist, in der sie definiert ist. Um sie auch in anderen Methoden diese Klasse nutzen zu können, müsste sie ein Member sein.

Code:
class IrgendeineKlasse{

  AndereKlasse instanzName

  void tuEtwas(){
    instanzName = new AndereKlasse(parameter);
    instanzName.methodeX();
  }
  void tuEtwasAnderes(){
    instanzName.methodeY();    //--- geht natürlich dann schief, wenn nicht vorher tuEtwas aufgerufen wurde
  }
}
 

0x7F800000

Top Contributor
PeterLustig hat gesagt.:
Das ist schon recht anmaßend was du da sagts. "Unfähige Pädagogen, Pest"
Wenn ich sage deine Mutter kann scheiße kochen ist das eine Aussage, die ist genauso sinnfrei aus dem Raum gegriffen wie die deinige....
Hmm, ne, soo aus der Luft gegriffen ist das nicht. An mir wurden auch schon diese "vereinfachte java-dialekte" ausprobiert. Bei uns in der schule war's irgendein bescheuerter marienkäfer, der auf nem schachbrett rumgekrabbelt ist. Das war 100% die Pest. Alleine wegen der Tatsachen, dass zu diesem KarelJ kaum was im internet zu finden ist, dass dort verwendung einer einfachen jar als "an Java angelehnte Sprache" geschimpft wird, und dass dort von irgendeinem "Roboter" die Rede ist, kann man schon vermuten, dass KarelJ aus der selben ecke wie karajava kommt.
Und diese dunkle Ecke sollen die alle gefällgst zurückkriechen, und nie wieder kommen.

Ich behaupte jetzt einfach mal dass meine "Pädagogen" doch einer recht renommierter Institution angehören
Dieser mensch, der da versucht, euch irgendwas beizubringen, kann eine Intelligenzbestie sein. Aber vielleicht ist er grad ein wenig verloren, weil er nicht weiß, wie er das den anderen erklären soll.

Es gibt leider nun mal Schüler/Studenten, die bzgl programmiersprachen lernresistent sind. Da kann es leider vorkommen, dass Lehrer/Profs das nicht einsehen, und hoffen, jedem das programmieren beibringen zu können, und greifen dann zu solchen "anschaulichen" Kontexten wie marienkäfern oder Robotern.
und diese "Pest" durchaus eine Daseinsberechtigung hat.
In einem halben Jahr siehst du hoffentlich ein, dass das verlorene zeit gewesen ist.
Oder vielleicht lernst du es auch so. Aber das hast du dann 100% dir selbst, und nicht KarelJ zu verdanken, weil du eben das wesentliche unter dieser KarelJ-Oberfläche siehst.

Imho könnte man genauso gut auch gleich mit dem Wesentlichen anfangen.

Ich hätte noch eine Frage:
...
Folgender Code würde den Fehler "InstanzName cannot be resolved" liefern.
Okay, dann back to topic... [edit] Okay, Murray hat schon alles beantwortet, ich war zu lange mit dem träumen über Kekse beschäftigt^^ [/edit]
Code:
class irgenEineKlasse{
  void tuEtwas(){
    andereKlasse InstanzName = new andereKlasse(parameter);
    InstanzName.methodeX();
  }
  void tuEtwasAnderes(){
    InstanzName.methodeY();    //Fehlerquelle
  }
}
[/quote]
Ja, natürlich muss diese Fehlermeldung kommen. "InstanzName" ist nämlich eine lokale Variable in der methode "tuEtwas". Diese Variable wird dadrin erzeugt, und nach dem verlassen der "tuEtwas"-methode wieder vom Stack gelöscht.

Wenn du irgendeine variable haben willst, die überall in einer Instanz eines Objektes sichtbar ist, muss du sie als "member-varable" deklarieren:
Code:
class irgenEineKlasse{
  private andereKlasse InstanzName; //jetzt ist die in beiden methoden sichtbar 
  void tuEtwas(){
    InstanzName = new andereKlasse(parameter); //das sollte womöglich besser in den Konstruktor (?)
    InstanzName.methodeX();
  }
  void tuEtwasAnderes(){
    InstanzName.methodeY();    //keine Fehlerquelle
  }
}

Sonstige Anmerkungen:
1)
Innerhalb der Methode tuEtwas(); kann ich alle Methoden/Funktione etc von InstanzName ausführen.
Falsch. Da kannst du nur auf die öffentlichen (public) methoden zugreifen.

2) KLassennamen schreibt man groß, variablennamen und methodennamen klein. Du hast in deinem code fast alles durcheinandergebracht, bis auf richtig geschriebene methodennamen sollte es exakt andersherum aussehen.

3) Drittes Wort in der vorletzten Zeile im Absatz vor dem "Bla!". Kannst den Keks per email schicken...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Konstruktor mit Array als Parameter Java Basics - Anfänger-Themen 3
B Klassen Array Parameter im Konstruktor? Java Basics - Anfänger-Themen 4
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 7
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 0
G Int-Array im Konstruktor Parameter Java Basics - Anfänger-Themen 37
H Klassen Konstruktor Parameter als Instanzvariablen zwischen speichern... Java Basics - Anfänger-Themen 11
M Parameter von Konstruktor, der Superklassen-Konstruktor aufruft Java Basics - Anfänger-Themen 2
M GUI JOptionPane - Parameter im Konstruktor festlegen? Java Basics - Anfänger-Themen 5
X Variable Parameter in Konstruktor Java Basics - Anfänger-Themen 7
E Konstruktor-Parameter Java Basics - Anfänger-Themen 13
S Konstruktor parameter Java Basics - Anfänger-Themen 4
J Thread-Parameter oder Konstruktor Java Basics - Anfänger-Themen 16
G Statischem Konstruktor Parameter übergeben Java Basics - Anfänger-Themen 6
A Konstruktor ohne Parameter Java Basics - Anfänger-Themen 15
C Interface Parameter und Rückgabewerte in Lambda Ausdrücken verwenden Java Basics - Anfänger-Themen 16
C Parameter in verschiedenen Anzahl und Typen Java Basics - Anfänger-Themen 6
M methode aufrufen ohne parameter Java Basics - Anfänger-Themen 1
MiMa Java Doc mehrere Return Parameter Java Basics - Anfänger-Themen 11
BeginnerJava "Weihnachtsbäume" anzeigen: Höhe als Parameter Java Basics - Anfänger-Themen 1
R Methoden Werte einer ArrayList als Parameter übergeben. Java Basics - Anfänger-Themen 4
I Optionaler Parameter bei Methode, der nur optional ist? Java Basics - Anfänger-Themen 6
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
Jambolo Methode, welche die 3 letzten Parameter Werte speichert Java Basics - Anfänger-Themen 20
L Beim Java Programmstart, mehrere Parameter über die Kommandozeile übergeben Java Basics - Anfänger-Themen 9
M Interface als Parameter einer Klasse Java Basics - Anfänger-Themen 8
R Eigenschaft über Parameter auslesen und ändern Java Basics - Anfänger-Themen 15
P Eclipse Karate Framework API Test . Unexpected Error: the trustAnchors parameter must be non-empty Java Basics - Anfänger-Themen 1
X Default Parameter Java Basics - Anfänger-Themen 20
J Interface methode aufrufen (interface parameter) Java Basics - Anfänger-Themen 7
KogoroMori21 Variable im Parameter und Ohne Java Basics - Anfänger-Themen 5
J Bestimmte parameter aus Jsonfile auslesen Java Basics - Anfänger-Themen 15
I JAX-RS Mehrere Parameter in Query Java Basics - Anfänger-Themen 3
H Warum kann man keine Parameter in die main-Methode packen? Java Basics - Anfänger-Themen 4
D Best Practice Parameter int vs byte Java Basics - Anfänger-Themen 16
L Methode implementieren, Parameter die übergeben werden sind final Java Basics - Anfänger-Themen 4
L Wie greife ich in der Subklasse auf die Parameter einer Methode der Superklasse zu ? Java Basics - Anfänger-Themen 15
C Methoden-Parameter ist Interface Java Basics - Anfänger-Themen 5
J Apache Poi - createCell() Methode akzeptiert keinen Index aus for-schleife als Parameter Java Basics - Anfänger-Themen 4
P Parameter auf Datenformat überprüfen Java Basics - Anfänger-Themen 5
S Hamster Simulator rechnen lernen Parameter int Java Basics - Anfänger-Themen 6
Curtis_MC Parameter-Übergabe bei Klassen und Methoden Java Basics - Anfänger-Themen 12
C Java Methoden "Parameter" Problem Java Basics - Anfänger-Themen 16
W Parameter solange addieren bis 13 auftaucht Java Basics - Anfänger-Themen 11
L OOP Parameter mit der Draw-Methode übergeben Java Basics - Anfänger-Themen 11
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
L Methoden Übergabe von Parameter Java Basics - Anfänger-Themen 3
R Zu viele leere Parameter Java Basics - Anfänger-Themen 8
H Frage zu Parameter einer Methode Java Basics - Anfänger-Themen 2
H Frage zu Parameter einer Methode Java Basics - Anfänger-Themen 3
V Unbekannte Parameter Java Basics - Anfänger-Themen 1
J Input/Output Input als Parameter an Methoden übergeben Java Basics - Anfänger-Themen 23
B CSV einlesen - Parameter a) encoding b) delimiter Java Basics - Anfänger-Themen 7
U Mehrfacheingabe auf bestimmte Parameter prüfen Java Basics - Anfänger-Themen 8
A festgelegte Parameter Java Basics - Anfänger-Themen 11
PaperHat Methoden als Parameter anderer Methode verwenden Java Basics - Anfänger-Themen 11
D Interface Final für Parameter in überschriebenen Methoden? Java Basics - Anfänger-Themen 3
P Variablen Optionaler Parameter auf der Kommandozeile Java Basics - Anfänger-Themen 12
S Variable Parameter Java Basics - Anfänger-Themen 5
L Variablen Parameter bekommen Java Basics - Anfänger-Themen 13
M Methode mit Array als Parameter an Main übergeben Java Basics - Anfänger-Themen 1
B Webservice -> alle parameter bekommen von form Java Basics - Anfänger-Themen 2
K Klassenmethode mit übergebenen Parameter speichern Java Basics - Anfänger-Themen 7
I BigDecimal als Parameter verwenden Java Basics - Anfänger-Themen 3
J Parameter in main verwenden Java Basics - Anfänger-Themen 3
J Programm was üer Runtime.getRuntime gestartet wird erkennt String Parameter nicht Java Basics - Anfänger-Themen 0
T Parameter das übergeben wurde ändern? Java Basics - Anfänger-Themen 1
D Anfänger-Fragen(Parameter einer Methode) Java Basics - Anfänger-Themen 7
P Operatoren Parameter nicht auf null geprüft? Java Basics - Anfänger-Themen 16
D Name eines JMenue als Parameter übergeben Java Basics - Anfänger-Themen 20
K Dynamischen Supplier für Parameter Java Basics - Anfänger-Themen 12
C Methoden Welche JSoup Methoden Und Parameter für diese HTML Tags Java Basics - Anfänger-Themen 4
A Die Werte zur Berechnung müssen als Parameter übergeben werden? Java Basics - Anfänger-Themen 7
W Methoden Methode ohne Parameter auf Instanz eines Objekts aufrufen? Java Basics - Anfänger-Themen 14
M Methode mit Parameter Java Basics - Anfänger-Themen 4
G Objektübergabe durch Parameter Java Basics - Anfänger-Themen 3
J Erste Schritte catch Exeption Parameter Java Basics - Anfänger-Themen 7
A Erste Schritte Methoden mit Parameter Java Basics - Anfänger-Themen 2
D Statische Objekte mit variablem Parameter Java Basics - Anfänger-Themen 1
N Klassen Klassen zwingende Parameter mitteilen Java Basics - Anfänger-Themen 4
L Methoden Methode Parameter vertauschen? Java Basics - Anfänger-Themen 3
C Auswertung Ausdruck mit Punknotation + Objekt als Parameter Java Basics - Anfänger-Themen 3
A Methoden Parameter optionalisieren möglich? - Wie? Java Basics - Anfänger-Themen 19
N Beliebig viele parameter Java Basics - Anfänger-Themen 3
F Methoden: Referenzvariable als Parameter Java Basics - Anfänger-Themen 4
J HttpGet Parameter mitgeben Java Basics - Anfänger-Themen 5
S Generische Methode soll Objekte als Parameter erlauben die bestimmtes Interface implementieren^ Java Basics - Anfänger-Themen 9
T Klasse von erfahren wenn Obertyp Parameter ist Java Basics - Anfänger-Themen 6
J Klassen Fehler mit Parameter des Konstruktors bei einer Objekterzeugung Java Basics - Anfänger-Themen 5
V Parameter in synchronized-Blöcken verstehen Java Basics - Anfänger-Themen 2
M Klasse als Parameter übergeben Java Basics - Anfänger-Themen 7
S Methoden eine Instanz einer eigenen Klasse als parameter übergeben Java Basics - Anfänger-Themen 9
T unterschiedlich viele parameter übergeben Java Basics - Anfänger-Themen 5
V Methoden key value Parameter Java Basics - Anfänger-Themen 11
J Drucker parameter ändern Java Basics - Anfänger-Themen 9
F trustAnchors parameter must be non-empty Java Basics - Anfänger-Themen 0
O Basisklassen als Methoden-Parameter ähnlich, wie in C++ ? Java Basics - Anfänger-Themen 6
D GregorianCalendar als Parameter Java Basics - Anfänger-Themen 2
E Problem beim Übergeben von Parameter an Methode Java Basics - Anfänger-Themen 2
O ArrayListe sortieren anhand zweier Parameter Java Basics - Anfänger-Themen 4
S Methoden Rückgabewert einer Methode als Parameter an eine andere Methode übergeben, geht das? Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben