diff --git a/src/org/eidecker/oca8lernen/general/DoubleImplementsClash.java b/src/org/eidecker/oca8lernen/general/DoubleImplementsClash.java index 86acbe2..935599e 100644 --- a/src/org/eidecker/oca8lernen/general/DoubleImplementsClash.java +++ b/src/org/eidecker/oca8lernen/general/DoubleImplementsClash.java @@ -34,6 +34,8 @@ class InterfaceImplementer extends AbstractClass implements SuperInterface1, Sup methode(1, 2, 3); int [] ints = {1,2,3}; methode(ints); + + System.out.println(new StringBuilder("Hallo").toString()); } @Test diff --git a/src/org/eidecker/oca8lernen/lastminute/Kleinigkeiten.java b/src/org/eidecker/oca8lernen/lastminute/Kleinigkeiten.java index af3f939..c0db8a5 100644 --- a/src/org/eidecker/oca8lernen/lastminute/Kleinigkeiten.java +++ b/src/org/eidecker/oca8lernen/lastminute/Kleinigkeiten.java @@ -3,8 +3,10 @@ package org.eidecker.oca8lernen.lastminute; import org.eidecker.oca8lernen.lastminute.hilfspackage.KlasseInEinemAnderenPackage; import org.junit.jupiter.api.Test; +import java.io.Serializable; import java.util.Arrays; import java.util.List; +import java.util.concurrent.ThreadFactory; public class Kleinigkeiten { @@ -33,6 +35,15 @@ public class Kleinigkeiten { } } + @Test + public void testCast() { + Oberklasse oberklasse; + KlasseInEinemAnderenPackage unterklasse = new KlasseInEinemAnderenPackage(); + + oberklasse = (KlasseInEinemAnderenPackage) unterklasse; + + } + } @@ -41,3 +52,15 @@ abstract class AbstrakteKlasse { // private abstract verboten (auch sinnlos) /* private */ abstract void sinnloseDefinition(); } + +interface MySuperInterface extends Serializable, ThreadFactory { + default void m1() { + + } +} + +interface MyOtherSuperInterface { + default void m1() { + + } +} diff --git a/src/org/eidecker/oca8lernen/lastminute/castbaeume/Baum.java b/src/org/eidecker/oca8lernen/lastminute/castbaeume/Baum.java new file mode 100644 index 0000000..0fe2deb --- /dev/null +++ b/src/org/eidecker/oca8lernen/lastminute/castbaeume/Baum.java @@ -0,0 +1,31 @@ +package org.eidecker.oca8lernen.lastminute.castbaeume; + +import org.junit.jupiter.api.Test; + +public class Baum { + + @Test + public void testGraphCast() { + I i = new C(); + I i2 = (C)new A(); + I2 i3 = (C)new A(); + I2 i4 = (C)new B(); + } +} + + +/* + A + | + B-I + | + C-I2 + */ +interface I {} +interface I2 {} + +class A {} + +class B extends A implements I {} + +class C extends B implements I2 {} \ No newline at end of file diff --git a/src/org/eidecker/oca8lernen/lastminute/castbaeume/Graph.java b/src/org/eidecker/oca8lernen/lastminute/castbaeume/Graph.java new file mode 100644 index 0000000..628c51f --- /dev/null +++ b/src/org/eidecker/oca8lernen/lastminute/castbaeume/Graph.java @@ -0,0 +1,25 @@ +package org.eidecker.oca8lernen.lastminute.castbaeume; + +import org.junit.jupiter.api.Test; + +public class Graph { + + @Test + public void testSomeCasts() { + D f = new F(); + E e; + e = (E)f; + } + +} + +/* + D + |----- + | | + E F + */ + +class D {} +class E extends D {} +class F extends D {} \ No newline at end of file