diff --git a/src/org/eidecker/oca8lernen/general/CastExceptions.java b/src/org/eidecker/oca8lernen/general/CastExceptions.java index 5526949..6a9dd28 100644 --- a/src/org/eidecker/oca8lernen/general/CastExceptions.java +++ b/src/org/eidecker/oca8lernen/general/CastExceptions.java @@ -49,7 +49,13 @@ public class CastExceptions { class OberCast { public void method() throws IOException{ + Integer i; + long l2 = (int)12; + + int i2 = 2; + + i = (int)i2; } } diff --git a/src/org/eidecker/oca8lernen/general/InterfaceWithFields.java b/src/org/eidecker/oca8lernen/general/InterfaceWithFields.java index 4df6f6a..92ad866 100644 --- a/src/org/eidecker/oca8lernen/general/InterfaceWithFields.java +++ b/src/org/eidecker/oca8lernen/general/InterfaceWithFields.java @@ -1,5 +1,7 @@ package org.eidecker.oca8lernen.general; +import org.junit.jupiter.api.Test; + import static org.junit.jupiter.api.Assertions.assertEquals; public class InterfaceWithFields implements T1, T2 { @@ -18,6 +20,8 @@ public class InterfaceWithFields implements T1, T2 { interface T1 { int VALUE = 99; int VALUE_T1 = 1; + + default int getValue() {return VALUE;} } interface T2 { @@ -31,11 +35,15 @@ interface T2 { class Tester { + @Test public void interfaceTest() { InterfaceWithFields interfaceWithFields = new InterfaceWithFields(); assertEquals(99, ((T1)interfaceWithFields).VALUE); assertEquals(98, ((T2)interfaceWithFields).VALUE); + T1 t1 = new InterfaceWithFields(); + System.out.println(t1.getValue()); + assertEquals(1, interfaceWithFields.VALUE_T1); assertEquals(2, interfaceWithFields.VALUE_T2); } diff --git a/src/org/eidecker/oca8lernen/general/Overloading.java b/src/org/eidecker/oca8lernen/general/Overloading.java index 67403c8..6dd52b3 100644 --- a/src/org/eidecker/oca8lernen/general/Overloading.java +++ b/src/org/eidecker/oca8lernen/general/Overloading.java @@ -202,6 +202,11 @@ class PrimitiveOverloading { return VARIANTE_BYTE; } + public String neuerVersuch(byte l) { + System.out.println("long"); + return "long"; + } + } class PrimitiveOverloadingTester { @@ -229,7 +234,30 @@ class PrimitiveOverloadingTester { // Primitiv, nicht vorhanden, auch kein Wrapper assertEquals(VARIANTE_INT, primitiveOverloading.overloadMe((short) 1)); + primitiveOverloading.neuerVersuch((char)12); + OverloadMe2 overloadMe2 = new OverloadMe2(); + // overloadMe2.one(1, 1); + + overloadMe2.two(new Integer(1)); + } + +} + +class OverloadMe2 { + + public int one(double d, int i) { + return 1; + } + + public int one(int d, double i) { + return 1; + } + + + + public int two(Long i) { + return 1; } } diff --git a/src/org/eidecker/oca8lernen/general/SwitchSyntax.java b/src/org/eidecker/oca8lernen/general/SwitchSyntax.java index 560cf46..0e72421 100644 --- a/src/org/eidecker/oca8lernen/general/SwitchSyntax.java +++ b/src/org/eidecker/oca8lernen/general/SwitchSyntax.java @@ -7,6 +7,9 @@ public class SwitchSyntax { final int k = 0; public SwitchSyntax() { + switch(1) { + + } } @Test @@ -21,9 +24,11 @@ public class SwitchSyntax { break; } case 3: - default: + default: { int j; System.out.println("default"); + } + } } // Todo SeEi diff --git a/src/org/eidecker/oca8lernen/lastminute/InterfacesDefault.java b/src/org/eidecker/oca8lernen/lastminute/InterfacesDefault.java new file mode 100644 index 0000000..f1e18e1 --- /dev/null +++ b/src/org/eidecker/oca8lernen/lastminute/InterfacesDefault.java @@ -0,0 +1,52 @@ +package org.eidecker.oca8lernen.lastminute; + +import org.junit.jupiter.api.Test; + +public class InterfacesDefault implements I1, I2{ + + + @Override + public void method() { + System.out.println("Aus InterfacesDefault"); + //System.out.println(s2); + //I1.super.method(); + + //System.out.println(I1.s); + } +} + +class Außerhalb { + + @Test + public void someMethod() { + I1 i1 = new InterfacesDefault(); + i1.method(); + System.out.println(i1.s); + System.out.println(i1.s2); + + InterfacesDefault i2 = new InterfacesDefault(); + i2.method(); + System.out.println(((I1) i2).s); + System.out.println(((I2) i2).s); + //System.out.println(i2.s); + + } + +} + +interface I1 { + + String s = "Hallo"; + String s2 = "Noch einer"; + + default void method() { + System.out.println("Aus I2"); + } +} + +interface I2 { + + String s = "Welt"; + + void method(); +} diff --git a/src/org/eidecker/oca8lernen/lastminute/Kleinigkeiten.java b/src/org/eidecker/oca8lernen/lastminute/Kleinigkeiten.java index 23a070e..484f71d 100644 --- a/src/org/eidecker/oca8lernen/lastminute/Kleinigkeiten.java +++ b/src/org/eidecker/oca8lernen/lastminute/Kleinigkeiten.java @@ -35,6 +35,7 @@ public class Kleinigkeiten { public void variabennamen (int i) { // for (int i = i; ) + // char c = 1.0; } @Test @@ -130,6 +131,8 @@ interface MySuperInterface extends Serializable, ThreadFactory { default void m1() { } + + public abstract void my(); } interface MyOtherSuperInterface { diff --git a/src/org/eidecker/oca8lernen/lastminute/Oberklasse.java b/src/org/eidecker/oca8lernen/lastminute/Oberklasse.java index ead82fb..e181052 100644 --- a/src/org/eidecker/oca8lernen/lastminute/Oberklasse.java +++ b/src/org/eidecker/oca8lernen/lastminute/Oberklasse.java @@ -1,15 +1,27 @@ package org.eidecker.oca8lernen.lastminute; +import org.eidecker.oca8lernen.lastminute.hilfspackage.PublicClassInEinemAnderenPackage; +import org.junit.jupiter.api.Test; + public class Oberklasse { - public final void publicMethode() { + static protected String feldInOberklasse; + public final void publicMethode() { + System.out.println("Public"); } private final void privateMethode() { } + @Test + public void test() { + PublicClassInEinemAnderenPackage publicClassInEinemAnderenPackage = new PublicClassInEinemAnderenPackage(); + publicClassInEinemAnderenPackage.publicMethode(); + + } + final void packageMethode() { System.out.println("packageMethode in Oberklasse"); } diff --git a/src/org/eidecker/oca8lernen/lastminute/StaticSichtbarkeit.java b/src/org/eidecker/oca8lernen/lastminute/StaticSichtbarkeit.java index f1ee98c..867607d 100644 --- a/src/org/eidecker/oca8lernen/lastminute/StaticSichtbarkeit.java +++ b/src/org/eidecker/oca8lernen/lastminute/StaticSichtbarkeit.java @@ -9,6 +9,17 @@ public class StaticSichtbarkeit { Ober ober = new Unter(); ober.methode2(ober); // Ober, da zur Compilezeit ausgewählt (Bei Überladen würde nur die Signatur gewählt!) + System.out.println(ober.s); + + String a = ""; + a += "Welt"; + // a -= "Welte"; + String b = null; + System.out.println(b instanceof Object); + + + + } } diff --git a/src/org/eidecker/oca8lernen/lastminute/castbaeume/Graph.java b/src/org/eidecker/oca8lernen/lastminute/castbaeume/Graph.java index 628c51f..5046b17 100644 --- a/src/org/eidecker/oca8lernen/lastminute/castbaeume/Graph.java +++ b/src/org/eidecker/oca8lernen/lastminute/castbaeume/Graph.java @@ -11,6 +11,16 @@ public class Graph { e = (E)f; } + @Test + public void testArrayAssignment() { + D[] ds = {}; + E[] es = {}; + + es = (E[])ds; + + ds = (D[])es; + } + } /* diff --git a/src/org/eidecker/oca8lernen/lastminute/hilfspackage/KlasseInEinemAnderenPackage.java b/src/org/eidecker/oca8lernen/lastminute/hilfspackage/KlasseInEinemAnderenPackage.java index 799c4f0..4cac177 100644 --- a/src/org/eidecker/oca8lernen/lastminute/hilfspackage/KlasseInEinemAnderenPackage.java +++ b/src/org/eidecker/oca8lernen/lastminute/hilfspackage/KlasseInEinemAnderenPackage.java @@ -1,10 +1,23 @@ package org.eidecker.oca8lernen.lastminute.hilfspackage; import org.eidecker.oca8lernen.lastminute.Oberklasse; +import org.junit.jupiter.api.Test; + +import java.io.IOException; public class KlasseInEinemAnderenPackage extends Oberklasse { + protected String feldInOberklasse; + void privateMethode() { + try { + // anotherOne(); + } catch (Exception e) { + + } + } + + void anotherOne() throws IOException { } @@ -17,3 +30,17 @@ public class KlasseInEinemAnderenPackage extends Oberklasse { } } + +class AuchInEinemAnderenPackage { + + public void publicMethode() { + System.out.println("Public AuchInEinemAnderenPackage"); + } + + @Test + public void testMe() { + KlasseInEinemAnderenPackage klasseInEinemAnderenPackage = new KlasseInEinemAnderenPackage(); + klasseInEinemAnderenPackage.publicMethode(); + } + +} diff --git a/src/org/eidecker/oca8lernen/lastminute/hilfspackage/PublicClassInEinemAnderenPackage.java b/src/org/eidecker/oca8lernen/lastminute/hilfspackage/PublicClassInEinemAnderenPackage.java new file mode 100644 index 0000000..0f15994 --- /dev/null +++ b/src/org/eidecker/oca8lernen/lastminute/hilfspackage/PublicClassInEinemAnderenPackage.java @@ -0,0 +1,30 @@ +package org.eidecker.oca8lernen.lastminute.hilfspackage; + +public class PublicClassInEinemAnderenPackage extends AuchInEinemAnderenPackage { + + public static void main(String[] args) { + "Hallo".concat("Test"); + } + + public static String s; + +} + +class NochEineSub extends PublicClassInEinemAnderenPackage { + public String s = "nicht statisch"; + + public static void main(String[] args) { + PublicClassInEinemAnderenPackage n = new NochEineSub(); + System.out.println(n.s); + int k; + int j=k=3; + System.out.println(k); + System.out.println(j); + + int i = Integer.MIN_VALUE; + int i2 = -i; + System.out.println(i); + System.out.println(i2); + + } +}