Hey Leute, in meiner Programmierung Klausur wird es erneut vorkommen, dass ich einen Quellcode bekomme und dann Aufrufe in der Main-Methode gegeben sind und ich quasi Compiler spielen muss und sagen muss, wenn etwas falsch ist oder was die genaue Ausgabe ist. Ich verstehe die Aufrufe aber teilweise überhaupt nicht.
Hier bspw. bei d) und f) kann mir das jemand erläutern? Was wird denn bitte bei d) aufgerufen, dass die Ausgabe: Z: v1=70 v2=8 v3=40 lautet.
Dachte der Debugger hilft mir, aber wohl kaum bei print...
Hier bspw. bei d) und f) kann mir das jemand erläutern? Was wird denn bitte bei d) aufgerufen, dass die Ausgabe: Z: v1=70 v2=8 v3=40 lautet.
Dachte der Debugger hilft mir, aber wohl kaum bei print...
Java:
public class TestJava {
public interface I { public void a(int v1); }
public static abstract class X implements I {
protected int v1=70;
public int v2=20;
public void a(int v1) { v2 = v1; }
public void print() { System.out.println("X: v1=" + v1 + " v2=" + v2); }
}
public static class Y extends X {
int v3 = 33;
public void b(int v2) { v3 = this.v2; v1 = v2; }
public void print() { System.out.println("Y: v1=" + v1 + " v2=" + v2 + " v3=" + v3); }
}
public static class Z extends Y {
static int v2 = 8;
private int v3 = 40;
public void a(int v1) { super.a(v1); this.v1 = v1;}
public void b(int v2) { v2 = this.v2;}
public void print() { System.out.println("Z: v1=" + v1 + " v2=" + v2 + " v3=" + v3); }
}
public static void main(String[] args) {
//ERGAENZUNGEN HIER
X x; Y y; Z z; I i;
System.out.println("a)");
y = new Y();
z = new Z();
y.print();
z.print();
System.out.println("b)");
y = new Y();
y.b(42);
y.print();
System.out.println("c)");
// x = new X();
// x.a(27);
// x.print();
System.out.println("d)");
y = new Z();
y.b(111);
y.print();
System.out.println("e)");
// i1 = new Y();
// i1.a(7);
// i1.print();
System.out.println("f)");
x = new Z();
x.a(55);
x.print();
}
}
Zuletzt bearbeitet: