Yritin ylikirjoittaa toString metodia allaolevassa luokassa. Ei onnistu, vaan BlueJ.ssä tulee luokan allaoleva ilmoitus. Mikä vikana?
class Vir
{
String ilm; //virheilmoitus
int vakavuus;
Vir(String i, int v)
{
ilm = i;
vakavuus = v;
}
String toString()
{System.out.print(ilm);
}
}
toString() in Vir cannot override toString in java.lang Object;
attempting to assign weaker access privileges
class Vir
{
String ilm; //virheilmoitus
int vakavuus;
Vir(String i, int v)
{
ilm = i;
vakavuus = v;
}
String toString()
{System.out.print(ilm);
}
}
toString() in Vir cannot override toString in java.lang Object;
attempting to assign weaker access privileges
Vastaukset 2
Vanhimmat
public class Vir
konstrutori pitää olla myös julkinen
public Vir(String i, int v)
toString-metodiakin halutaan varmaan kutsua muista luokista...
public String toString()
Moi
ToString() metodin pitää olla julkinen koska se on myös sen base-luokassa Class.
Kaikki muut arvot saat laittaa kuten haluat eli priva luokka ja priva konstruktori jos haluat.