Merge remote-tracking branch 'origin/master'

This commit is contained in:
Sebastian Eidecker
2019-11-28 16:13:47 +01:00
11 changed files with 194 additions and 2 deletions

View File

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

View File

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

View File

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

View File

@@ -7,6 +7,9 @@ public class SwitchSyntax {
final int k = 0;
public SwitchSyntax() {
switch(1) {
}
}
@Test
@@ -21,10 +24,12 @@ public class SwitchSyntax {
break;
}
case 3:
default:
default: {
int j;
System.out.println("default");
}
}
}
// Todo SeEi

View File

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

View File

@@ -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 {

View File

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

View File

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

View File

@@ -11,6 +11,16 @@ public class Graph {
e = (E)f;
}
@Test
public void testArrayAssignment() {
D[] ds = {};
E[] es = {};
es = (E[])ds;
ds = (D[])es;
}
}
/*

View File

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

View File

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