Archiv verlassen und diese Seite im Standarddesign anzeigen : qqVerebungs-/Konstruktorfrage
sauertopf
17-09-2003, 11:05
Hallo,
es sieht für mich so aus als könne man in einer Subclasse kein Object der Superklasse erzeugen, wenn diese einen anderen als den default-construktor hat.
Ist es so oder verstehe ich was falsch? warum ist das so?
public class B extends A
{
public void test(int argc, String argv[])
{
A a=new A("Hallo");
}
}
class A
{
String a;
A(String s)
{
a=s;
}
}
sauertopf
17-09-2003, 11:08
Ach ja, die Fehlermeldung:
B.java:1: cannot resolve symbol
symbol : constructor A ()
location: class A
public class B extends A{
^
1 error
sauertopf
17-09-2003, 11:12
Ok, hab die Lösung.
Hatte gar nix mit der Instanzierung zu tun ...
public class B extends A{
public void test(int argc, String argv[]){
A a= new A("Hallo");
}
B(String d){
super(d);
}
}
class A{
String a;
A(String s){
a=s;
}
}
Du solltest Dir unbedingt angewöhnen getter und setter zu schreiben, das ist in Java erstens so üblich, und zweitens auch besser vom OO-Ansatz.
fs111
sauertopf
17-09-2003, 18:19
@fs111: etwa so?
public class B extends A{
public void test(){
A a= new A("Hallo");
}
B(String d){
super(d);
}
}
class A{
private String a;
public void set_a(String a_s){a=a_s;}
A(String s){
set_a(s);
}
}
anda_skoa
17-09-2003, 18:22
Innerhalb der Klasse kannst du schon direkt auf die Variablen schreiben, besonders im Konstruktor :)
Ciao,
_
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.