Advertisement
Guest User

Aufgabe 2

a guest
Jun 16th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.17 KB | None | 0 0
  1. r = Foo.bar(r,b); // compiled, da der Typ T R ist und da B von R erbt, B als Argument für T eingesetzt werden kann
  2.         r = Foo.bar(b,r); // gleiche Begründung wie bei a) + r kann auf ein Objekt vom Typ b gesetzt werden, da B von R erbt
  3.         r = Foo.bar(e,g); // compiled, da T = R, und E von R erbt und G von B erbt, welches von R erbt + r kann auf ein E gesetzt werden, da E von R erbt
  4.         r = Foo.bar(b,g); //
  5.         //e = Foo.bar(r, b); //compiled nicht, da Return Type r ist und auf eine var. vom Typ e gesetzt werden soll
  6.         //u = Foo.bar(u, r); //compiled nicht, da die Parameter versch. Typen haben und dadurch T = Object ist und u nicht auf ein Objekt vom Typ Object gesetzt werden kann
  7.         o = Foo.bar(e, u);//compiled, da return type Object ist und o vom Typ Object ist;
  8.         //b = Foo.bar(e, g); //compiled nicht, da b auf den return Type R gesetzt werden soll
  9.         x = Foo.bar(new E[2], new B[4]); //compiled, da x vom Typ X[] ist und der return type R[] (da E und B beide R extenden)
  10.         //y = Foo.bar(new E[4], new B[11]); compiled nicht, da return type R[] ist y aber vom typ E[] ist;
  11.         o = Foo.bar(new G[8], new U[5]); //compiled, da return type Object[] ist (da G und U versch. Typen haben)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement