Java interfaces vs. ClassDefNotFoundError
Jeg har en opgave med denne stump kode:interface A
{
public void m();
}
class B implements A
{
public void m()
{
System.out.println("B.m");
}
public void n()
{
System.out.println("B.n");
}
}
class C implements A
{
public void m()
{
System.out.println("C.m");
}
}
class D extends B
{
}
class intTester
{
public static void main(String[] argv)
{
Object o = new B();
}
}
Opgaven går ud på at regne ud hvilke klasseinstatieringer der giver fejl under kørsel eller kompilering.
Ex:
A a = new B();
D d = new C();
etc etc.
Igennem de 18 opgaver er det ikke lykkes mig at få programmet til at køre en eneste gang. Der er ikke andet end ClassDefNotFoundError's. Et stykke hen ad vejen kan jeg forstå det, men undrer mig over at
Object o = new B();
ikke kan lade sig gøre...jeg mener at eftersom Object ligger allerøverst, og eftersom man kan typecaste til alle subklasser, skulle dén ikke give en fejl...
Forklaringer modtages med kyshånd (sådan da)
