Guten Abend allerseits!
Dies ist mein erster Post hier - Ich habe auch zuerst Google sowie den FAQ konsultiert, komme aber leider nicht weiter. Ich hoffe hier kann mir jemand weiterhelfen...
Zwar geht es um folgende Aufgabenstellung:
Man soll eine Class Lamp erstellen. Dort einen passenden Konstruktor, bei welchem 4 Attribute (MaxVolt, MaxWatt, Name und der Preis) mitgegeben werden können. Danach soll in der Main Class mittels der Lamp Class neue Lampen-Objekte erstellt werden können. Dabei ist wichtig, dass nachträglich nur noch der Preis angepasst werden kann - die anderen drei Attribute sollen nach dem ein Objekt erstellt wurde nicht mehr änderbar sein.
Soweit klappt eigentlich alles - Referenzvariabeln in der Klasse Lamp sind private und ich habe nur getter Methoden geschrieben - ausser für den Preis natürlich. Hier mal zur Übersicht die beiden Klassen:
Klasse Lamp:
Hier die Klasse Main:
Nun zu meine eigentlichen Problem:
Zuerst erstelle ich das Objekt l01 mit meinem Konstruktor. Danach hole ich mit den Gettern Methoden die einzelnen Attribute/Instanzen und gebe sie mit System.out.println aus. Soweit so gut. Aber wie kann ich nun den Preis (habe ja bewusst eine Setter Methode für den Preis erstellt) ändern? Und zwar den Preis des Objektes l01! So wie ich es versuche (was mir logisch scheint ???:L ) klappt das nicht. Also Objekt.Methode(Wert)...
l01.setPreis(200.45f)
Irgenwie gibt mir Jedit immer noch den alten Preis wieder wenn ich das so ausführe. Was mach ich falsch? (Btw.: Kompilieren und Ausführen funktioniert tadellos.)
Vielen Dank im Voraus & liebe Grüsse
Stibi
Dies ist mein erster Post hier - Ich habe auch zuerst Google sowie den FAQ konsultiert, komme aber leider nicht weiter. Ich hoffe hier kann mir jemand weiterhelfen...
Zwar geht es um folgende Aufgabenstellung:
Man soll eine Class Lamp erstellen. Dort einen passenden Konstruktor, bei welchem 4 Attribute (MaxVolt, MaxWatt, Name und der Preis) mitgegeben werden können. Danach soll in der Main Class mittels der Lamp Class neue Lampen-Objekte erstellt werden können. Dabei ist wichtig, dass nachträglich nur noch der Preis angepasst werden kann - die anderen drei Attribute sollen nach dem ein Objekt erstellt wurde nicht mehr änderbar sein.
Soweit klappt eigentlich alles - Referenzvariabeln in der Klasse Lamp sind private und ich habe nur getter Methoden geschrieben - ausser für den Preis natürlich. Hier mal zur Übersicht die beiden Klassen:
Klasse Lamp:
Java:
public class Lamp{
private int maxw;
private int maxv;
private String name;
private float preis;
public Lamp(int maxw, int maxv, String name, float preis){
this.maxw = maxw;
this.maxv = maxv;
this.name = name;
this.preis = preis;
}
public void setPreis(float preis){
this.preis = preis;
}
public float getPreis(){
return preis;
}
public String getName(){
return name;
}
public int getMaxw(){
return maxw;
}
public int getMaxv(){
return maxv;
}
}
Hier die Klasse Main:
Java:
class Main {
public static void main ( String [] args ) {
int l01maxv;
int l01maxw;
String l01name;
float l01preis;
Lamp l01 = new Lamp(10, 12, "E2300", 230.40f);
l01maxw = l01.getMaxw();
l01maxv = l01.getMaxv();
l01name = l01.getName();
l01preis = l01.getPreis();
System.out.println("Name der Lampe: " + l01name + ", MaxVolt: " + l01maxv + ", MaxWatt: "+ l01maxw + "Preis: " + l01preis);
l01.setPreis(200.45f);
System.out.println("Name der Lampe: " + l01name + ", MaxVolt: " + l01maxv + ", MaxWatt: "+ l01maxw + "Preis: " + l01preis);
}
}
Nun zu meine eigentlichen Problem:
Zuerst erstelle ich das Objekt l01 mit meinem Konstruktor. Danach hole ich mit den Gettern Methoden die einzelnen Attribute/Instanzen und gebe sie mit System.out.println aus. Soweit so gut. Aber wie kann ich nun den Preis (habe ja bewusst eine Setter Methode für den Preis erstellt) ändern? Und zwar den Preis des Objektes l01! So wie ich es versuche (was mir logisch scheint ???:L ) klappt das nicht. Also Objekt.Methode(Wert)...
l01.setPreis(200.45f)
Irgenwie gibt mir Jedit immer noch den alten Preis wieder wenn ich das so ausführe. Was mach ich falsch? (Btw.: Kompilieren und Ausführen funktioniert tadellos.)
Vielen Dank im Voraus & liebe Grüsse
Stibi