From 3d51d5ede1034db0ed5077efda1d19a90f34793d Mon Sep 17 00:00:00 2001 From: Sebastian Eidecker Date: Sun, 24 Mar 2019 19:16:27 +0100 Subject: [PATCH] Chapter 1 --- .../oca8lernen/chapter01/AbstractClass.java | 12 ++++ .../chapter01/DefaultAccessParentOne.java | 11 ++++ .../oca8lernen/chapter01/EnumOne.java | 8 +++ .../oca8lernen/chapter01/EnumThree.java | 27 +++++++++ .../oca8lernen/chapter01/InterfaceOne.java | 14 +++++ .../eidecker/oca8lernen/chapter01/Main.java | 20 +++++++ .../oca8lernen/chapter01/ParentOne.java | 33 +++++++++++ .../chapter01/SubInSamePackage.java | 19 ++++++ .../chapter01/SubOfSubOfAbstract.java | 21 +++++++ .../chapter01/sub/StaticImport.java | 18 ++++++ .../chapter01/sub/SubOfAbstract.java | 13 ++++ .../chapter01/sub/SubOfParentOne.java | 59 +++++++++++++++++++ 12 files changed, 255 insertions(+) create mode 100644 src/org/eidecker/oca8lernen/chapter01/AbstractClass.java create mode 100644 src/org/eidecker/oca8lernen/chapter01/DefaultAccessParentOne.java create mode 100644 src/org/eidecker/oca8lernen/chapter01/EnumOne.java create mode 100644 src/org/eidecker/oca8lernen/chapter01/EnumThree.java create mode 100644 src/org/eidecker/oca8lernen/chapter01/InterfaceOne.java create mode 100644 src/org/eidecker/oca8lernen/chapter01/Main.java create mode 100644 src/org/eidecker/oca8lernen/chapter01/ParentOne.java create mode 100644 src/org/eidecker/oca8lernen/chapter01/SubInSamePackage.java create mode 100644 src/org/eidecker/oca8lernen/chapter01/SubOfSubOfAbstract.java create mode 100644 src/org/eidecker/oca8lernen/chapter01/sub/StaticImport.java create mode 100644 src/org/eidecker/oca8lernen/chapter01/sub/SubOfAbstract.java create mode 100644 src/org/eidecker/oca8lernen/chapter01/sub/SubOfParentOne.java diff --git a/src/org/eidecker/oca8lernen/chapter01/AbstractClass.java b/src/org/eidecker/oca8lernen/chapter01/AbstractClass.java new file mode 100644 index 0000000..ae06cbe --- /dev/null +++ b/src/org/eidecker/oca8lernen/chapter01/AbstractClass.java @@ -0,0 +1,12 @@ +package org.eidecker.oca8lernen.chapter01; + +/** + * @author seidecke. + */ +public abstract class AbstractClass { + + public abstract void handle(); + + abstract void testPackage(); + +} diff --git a/src/org/eidecker/oca8lernen/chapter01/DefaultAccessParentOne.java b/src/org/eidecker/oca8lernen/chapter01/DefaultAccessParentOne.java new file mode 100644 index 0000000..55257e7 --- /dev/null +++ b/src/org/eidecker/oca8lernen/chapter01/DefaultAccessParentOne.java @@ -0,0 +1,11 @@ +package org.eidecker.oca8lernen.chapter01; + +/** + * @author seidecke. + */ +class DefaultAccessParentOne { + + void test() { + + } +} diff --git a/src/org/eidecker/oca8lernen/chapter01/EnumOne.java b/src/org/eidecker/oca8lernen/chapter01/EnumOne.java new file mode 100644 index 0000000..ce04005 --- /dev/null +++ b/src/org/eidecker/oca8lernen/chapter01/EnumOne.java @@ -0,0 +1,8 @@ +package org.eidecker.oca8lernen.chapter01; + +/** + * @author seidecke. + */ +public enum EnumOne { + ONE, TWO, THREE +} diff --git a/src/org/eidecker/oca8lernen/chapter01/EnumThree.java b/src/org/eidecker/oca8lernen/chapter01/EnumThree.java new file mode 100644 index 0000000..4ff7d84 --- /dev/null +++ b/src/org/eidecker/oca8lernen/chapter01/EnumThree.java @@ -0,0 +1,27 @@ +package org.eidecker.oca8lernen.chapter01; + +/** + * @author seidecke. + */ +public enum EnumThree { + ONE(1), TWO(2), + + THREE(3) { + @Override + public int getI() { + return 4; // Just to have some fun + } + }; // Semicolon here important + + private int i; + + EnumThree(int i) { + this.i = i; + } + + + public int getI() { + return i; + } + +} diff --git a/src/org/eidecker/oca8lernen/chapter01/InterfaceOne.java b/src/org/eidecker/oca8lernen/chapter01/InterfaceOne.java new file mode 100644 index 0000000..80b9898 --- /dev/null +++ b/src/org/eidecker/oca8lernen/chapter01/InterfaceOne.java @@ -0,0 +1,14 @@ +package org.eidecker.oca8lernen.chapter01; + +/** + * @author seidecke. + */ +public interface InterfaceOne { + + String CONSTANT = "Hallo"; + + default void sayHello() { + System.out.println("Hello"); + } + +} diff --git a/src/org/eidecker/oca8lernen/chapter01/Main.java b/src/org/eidecker/oca8lernen/chapter01/Main.java new file mode 100644 index 0000000..03e1a0c --- /dev/null +++ b/src/org/eidecker/oca8lernen/chapter01/Main.java @@ -0,0 +1,20 @@ +package org.eidecker.oca8lernen.chapter01; + +import org.eidecker.oca8lernen.chapter01.sub.StaticImport; + +/** + * @author seidecke. + */ +public class Main { + + public static void main(String[] args) { + new StaticImport(); + new ParentOne().packageTest(); + new SubOfSubOfAbstract().testPackage(); + } + + public static void handle() { + + } + +} diff --git a/src/org/eidecker/oca8lernen/chapter01/ParentOne.java b/src/org/eidecker/oca8lernen/chapter01/ParentOne.java new file mode 100644 index 0000000..0f8e8a2 --- /dev/null +++ b/src/org/eidecker/oca8lernen/chapter01/ParentOne.java @@ -0,0 +1,33 @@ +package org.eidecker.oca8lernen.chapter01; + +/** + * @author seidecke. + */ +public class ParentOne { + private String text; + + public static void handle() { + System.out.println("handle()"); + } + + public static void handle(String s) { + System.out.println("handle(String)"); + } + + public void test() { + + } + + protected void protectedTest() { + + } + + private void privateTest() { + + } + + void packageTest() { + System.out.printf("ParentOne.packageTest"); + } + +} diff --git a/src/org/eidecker/oca8lernen/chapter01/SubInSamePackage.java b/src/org/eidecker/oca8lernen/chapter01/SubInSamePackage.java new file mode 100644 index 0000000..53aa0fc --- /dev/null +++ b/src/org/eidecker/oca8lernen/chapter01/SubInSamePackage.java @@ -0,0 +1,19 @@ +package org.eidecker.oca8lernen.chapter01; + +/** + * @author seidecke. + */ +public class SubInSamePackage extends ParentOne { + + enum EnumTwo{THREE, FOUR, FIVE} + + EnumTwo e2; + + // Nur überschrieben, weilim selben Package + @Override + void packageTest() { + super.packageTest(); + e2 = EnumTwo.THREE; + System.out.println(e2); + } +} diff --git a/src/org/eidecker/oca8lernen/chapter01/SubOfSubOfAbstract.java b/src/org/eidecker/oca8lernen/chapter01/SubOfSubOfAbstract.java new file mode 100644 index 0000000..8cd85a5 --- /dev/null +++ b/src/org/eidecker/oca8lernen/chapter01/SubOfSubOfAbstract.java @@ -0,0 +1,21 @@ +package org.eidecker.oca8lernen.chapter01; + +import org.eidecker.oca8lernen.chapter01.sub.SubOfAbstract; + +/** + * @author seidecke. + */ +public class SubOfSubOfAbstract extends SubOfAbstract { + + // Funktioniert tatsächlich, IntelliJ erkennt es aber ncht korrekt. Wird in der Realität aber hoffentich niemals vorkommen. + @Override + void testPackage() { + System.out.println("testPackage in SubOfSubOf"); + } + + static native void writtenInC(); + + static strictfp void calculate() { + + } +} diff --git a/src/org/eidecker/oca8lernen/chapter01/sub/StaticImport.java b/src/org/eidecker/oca8lernen/chapter01/sub/StaticImport.java new file mode 100644 index 0000000..b3def61 --- /dev/null +++ b/src/org/eidecker/oca8lernen/chapter01/sub/StaticImport.java @@ -0,0 +1,18 @@ +package org.eidecker.oca8lernen.chapter01.sub; + +import static java.lang.System.out; +import static org.eidecker.oca8lernen.chapter01.ParentOne.handle; +import static org.eidecker.oca8lernen.chapter01.Main.handle; + +/** + * @author seidecke. + */ +public class StaticImport { + + public StaticImport() { + out.print("Test"); + // handle(); + handle("Test"); + } + +} diff --git a/src/org/eidecker/oca8lernen/chapter01/sub/SubOfAbstract.java b/src/org/eidecker/oca8lernen/chapter01/sub/SubOfAbstract.java new file mode 100644 index 0000000..84ffe18 --- /dev/null +++ b/src/org/eidecker/oca8lernen/chapter01/sub/SubOfAbstract.java @@ -0,0 +1,13 @@ +package org.eidecker.oca8lernen.chapter01.sub; + +import org.eidecker.oca8lernen.chapter01.AbstractClass; + +/** + * @author seidecke. + */ +public abstract class SubOfAbstract extends AbstractClass { + @Override + public void handle() { + + } +} diff --git a/src/org/eidecker/oca8lernen/chapter01/sub/SubOfParentOne.java b/src/org/eidecker/oca8lernen/chapter01/sub/SubOfParentOne.java new file mode 100644 index 0000000..95d3be7 --- /dev/null +++ b/src/org/eidecker/oca8lernen/chapter01/sub/SubOfParentOne.java @@ -0,0 +1,59 @@ +package org.eidecker.oca8lernen.chapter01.sub; + +import org.eidecker.oca8lernen.chapter01.ParentOne; + +/** + * @author seidecke. + */ +public class SubOfParentOne extends ParentOne { + + static String a; + + String [][] array []; + + int x, y, z; + String s, t; + + public SubOfParentOne() { + s = "Hallo"; + t = "Welt"; + String u; + + // Nicht kompilierbar, da nicht initialisiert + // u.charAt(1); + + // NullPointer, aber kompilierbar + s.charAt(1); + + String a; + String s; + } + + // Kein Konstruktor! + public void SubOfParentOne() { + + } + + // Nicht überschrieben, da nicht im selben Package + public void packageTest() { + } + + @Override + public void test() { + + test(); +// super.privateTest(); + } + + + + + public void privateTest() { + + } + + @Override + protected void protectedTest() { + super.protectedTest(); + } +}