Anders Brunland, Knut Hegna, Ole Christian Lingjærde, Arne Maus

Rett på Java

Subklasser og virtuelle metoder - flervalgstest.

Spørsmål 2/4
Riktige svar: 0

class BilTest2 {
public static void main(String [] args){
Bil b1 = new Bil("Ford");
Lastebil b2 = new Lastebil("Skoda",2);
b2.lastekapasitet ++;
b1.skrivUt();
b2.skrivUt();
}}

class Bil{
String merke;
Bil(String m) { merke=m;}
void skrivUt() {
System.out.println("Bilens merke er:"+merke);
}}

class Lastebil extends Bil {
Lastebil(String m,int tonn) {
super(m);
lastekapasitet = tonn;
}
int lastekapasitet;
void skrivUt() {
super.skrivUt();
System.out.println("Mulig last:"+lastekapasitet) ;
}
}

  • 1 Bil er en subklasse av Lastebil-klassen.
  • 2 Lastebil er en subklasse av Bil-klassen
  • 3 Konstruktøren til 'Lasterbil' kaller konstruktøren i klassen 'Bil'.
  • 4 Konstruktøren til 'Lasterbil' blir aldri kalt.
  • 5 Konstruktøren til 'Bil' blir aldri kalt.
  • 6 Utskriften blir: Bilens merke er:Skoda Mulig last:3
  • 7 Utskriften blir: Bilens merke er:Ford Bilens merke er:Skoda Mulig last:3
  • 8 Setningen: super.skrivUt(); i Lastebilklassen er et kall på skrivUt() metoden i Bil-klassen
  • 9 Fjerner vi setningen: super.skrivUt(); i Lastebil-klassen får vi følgende utskrift: Bilens merke er:Ford Mulig last:3
  • 10 Fjerner vi setningen: super.skrivUt(); i Lastebil-klassen får vi følgende utskrift: Bilens merke er:Soda Mulig last:3

Neste spørsmål