diff --git a/core-java-lang-oop-2/.gitignore b/core-java-lang-oop-2/.gitignore new file mode 100644 index 0000000000..36aba1c242 --- /dev/null +++ b/core-java-lang-oop-2/.gitignore @@ -0,0 +1,4 @@ +target/ +.idea/ +bin/ +*.iml \ No newline at end of file diff --git a/core-java-lang-oop-2/README.md b/core-java-lang-oop-2/README.md new file mode 100644 index 0000000000..e309810ba2 --- /dev/null +++ b/core-java-lang-oop-2/README.md @@ -0,0 +1,5 @@ +========= + +## Core Java Lang OOP 2 Cookbooks and Examples + +### Relevant Articles: diff --git a/core-java-lang-oop-2/pom.xml b/core-java-lang-oop-2/pom.xml new file mode 100644 index 0000000000..3faf9fe6ee --- /dev/null +++ b/core-java-lang-oop-2/pom.xml @@ -0,0 +1,27 @@ + + 4.0.0 + com.baeldung + core-java-lang-oop-2 + 0.1.0-SNAPSHOT + core-java-lang-oop-2 + jar + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../parent-java + + + + core-java-lang-oop-2 + + + src/main/resources + true + + + + + diff --git a/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyClass.java b/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyClass.java new file mode 100644 index 0000000000..ccf8646f57 --- /dev/null +++ b/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyClass.java @@ -0,0 +1,16 @@ +package com.baeldung.supertypecompilerexception; + +public class MyClass { + + private int myField1 = 10; + private int myField2; + + public MyClass() { + //uncomment this to see the supertype compiler error: + //this(myField1); + } + + public MyClass(int i) { + myField2 = i; + } +} \ No newline at end of file diff --git a/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyClassSolution1.java b/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyClassSolution1.java new file mode 100644 index 0000000000..36fa446302 --- /dev/null +++ b/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyClassSolution1.java @@ -0,0 +1,15 @@ +package com.baeldung.supertypecompilerexception; + +public class MyClassSolution1 { + + private int myField1 = 10; + private int myField2; + + public MyClassSolution1() { + myField2 = myField1; + } + + public MyClassSolution1(int i) { + myField2 = i; + } +} diff --git a/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyClassSolution2.java b/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyClassSolution2.java new file mode 100644 index 0000000000..adaea4bfbe --- /dev/null +++ b/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyClassSolution2.java @@ -0,0 +1,19 @@ +package com.baeldung.supertypecompilerexception; + +public class MyClassSolution2 { + + private int myField1 = 10; + private int myField2; + + public MyClassSolution2() { + setupMyFields(myField1); + } + + public MyClassSolution2(int i) { + setupMyFields(i); + } + + private void setupMyFields(int i) { + myField2 = i; + } +} diff --git a/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyClassSolution3.java b/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyClassSolution3.java new file mode 100644 index 0000000000..04048f01db --- /dev/null +++ b/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyClassSolution3.java @@ -0,0 +1,15 @@ +package com.baeldung.supertypecompilerexception; + +public class MyClassSolution3 { + + private static final int SOME_CONSTANT = 10; + private int myField2; + + public MyClassSolution3() { + this(SOME_CONSTANT); + } + + public MyClassSolution3(int i) { + myField2 = i; + } +} diff --git a/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyException.java b/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyException.java new file mode 100644 index 0000000000..db60deb83f --- /dev/null +++ b/core-java-lang-oop-2/src/main/java/com/baeldung/supertypecompilerexception/MyException.java @@ -0,0 +1,14 @@ +package com.baeldung.supertypecompilerexception; + +public class MyException extends RuntimeException { + private int errorCode = 0; + + public MyException(String message) { + //uncomment this to see the supertype compiler error: + //super(message + getErrorCode()); + } + + public int getErrorCode() { + return errorCode; + } +}