Chapter 1

This commit is contained in:
Sebastian Eidecker
2019-03-24 19:16:27 +01:00
parent 4eadfcc252
commit 3d51d5ede1
12 changed files with 255 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
package org.eidecker.oca8lernen.chapter01;
/**
* @author seidecke.
*/
public abstract class AbstractClass {
public abstract void handle();
abstract void testPackage();
}

View File

@@ -0,0 +1,11 @@
package org.eidecker.oca8lernen.chapter01;
/**
* @author seidecke.
*/
class DefaultAccessParentOne {
void test() {
}
}

View File

@@ -0,0 +1,8 @@
package org.eidecker.oca8lernen.chapter01;
/**
* @author seidecke.
*/
public enum EnumOne {
ONE, TWO, THREE
}

View File

@@ -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;
}
}

View File

@@ -0,0 +1,14 @@
package org.eidecker.oca8lernen.chapter01;
/**
* @author seidecke.
*/
public interface InterfaceOne {
String CONSTANT = "Hallo";
default void sayHello() {
System.out.println("Hello");
}
}

View File

@@ -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() {
}
}

View File

@@ -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");
}
}

View File

@@ -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);
}
}

View File

@@ -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() {
}
}

View File

@@ -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");
}
}

View File

@@ -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() {
}
}

View File

@@ -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();
}
}