From 477bb63e21ddd5abd6096e86c2a3e66ea46e51cf Mon Sep 17 00:00:00 2001 From: mherbaghinyan Date: Mon, 14 May 2018 18:59:29 +0400 Subject: [PATCH 1/4] this keyword --- .../com/baeldung/keyword/KeywordDemo.java | 13 ++++++ .../keyword/superkeyword/SuperKeyword.java | 7 +++ .../keyword/thiskeyword/ThisKeyword.java | 45 +++++++++++++++++++ 3 files changed, 65 insertions(+) create mode 100644 core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java create mode 100644 core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperKeyword.java create mode 100644 core-java/src/main/java/com/baeldung/keyword/thiskeyword/ThisKeyword.java diff --git a/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java b/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java new file mode 100644 index 0000000000..0fe4854aa8 --- /dev/null +++ b/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java @@ -0,0 +1,13 @@ +package com.baeldung.keyword; + +import com.baeldung.keyword.thiskeyword.ThisKeyword; + +/** + * Created by Gebruiker on 5/14/2018. + */ +public class KeywordDemo { + + public static void main(String[] args) { + ThisKeyword keyword = new ThisKeyword(); + } +} diff --git a/core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperKeyword.java b/core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperKeyword.java new file mode 100644 index 0000000000..adaef3aef7 --- /dev/null +++ b/core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperKeyword.java @@ -0,0 +1,7 @@ +package com.baeldung.keyword.superkeyword; + +/** + * Created by Gebruiker on 5/14/2018. + */ +public class SuperKeyword { +} diff --git a/core-java/src/main/java/com/baeldung/keyword/thiskeyword/ThisKeyword.java b/core-java/src/main/java/com/baeldung/keyword/thiskeyword/ThisKeyword.java new file mode 100644 index 0000000000..08f0104490 --- /dev/null +++ b/core-java/src/main/java/com/baeldung/keyword/thiskeyword/ThisKeyword.java @@ -0,0 +1,45 @@ +package com.baeldung.keyword.thiskeyword; + +/** + * Created by Gebruiker on 5/14/2018. + */ +public class ThisKeyword { + + private String name; + private int age; + + public ThisKeyword() { + this("John", 27); + this.printMessage(); + printInstance(this); + } + + public ThisKeyword(String name, int age) { + this.name = name; + this.age = age; + } + + public void printMessage() { + System.out.println("invoked by this"); + } + + public void printInstance(ThisKeyword thisKeyword) { + System.out.println(thisKeyword); + } + + public ThisKeyword getCurrentInstance() { + return this; + } + + class ThiInnerClass { + + } + + @Override + public String toString() { + return "ThisKeyword{" + + "name='" + name + '\'' + + ", age=" + age + + '}'; + } +} From 027f011e672959c613eced81de5c047972b6aec6 Mon Sep 17 00:00:00 2001 From: mherbaghinyan Date: Wed, 16 May 2018 17:03:42 +0400 Subject: [PATCH 2/4] super keyword --- .../com/baeldung/keyword/KeywordDemo.java | 3 +++ .../keyword/superkeyword/SubClass.java | 26 +++++++++++++++++++ .../keyword/superkeyword/SuperKeyword.java | 13 ++++++++++ .../keyword/thiskeyword/ThisKeyword.java | 9 ++++++- 4 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 core-java/src/main/java/com/baeldung/keyword/superkeyword/SubClass.java diff --git a/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java b/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java index 0fe4854aa8..7d87aece86 100644 --- a/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java +++ b/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java @@ -1,5 +1,6 @@ package com.baeldung.keyword; +import com.baeldung.keyword.superkeyword.SubClass; import com.baeldung.keyword.thiskeyword.ThisKeyword; /** @@ -9,5 +10,7 @@ public class KeywordDemo { public static void main(String[] args) { ThisKeyword keyword = new ThisKeyword(); + + SubClass child = new SubClass("message from the child class"); } } diff --git a/core-java/src/main/java/com/baeldung/keyword/superkeyword/SubClass.java b/core-java/src/main/java/com/baeldung/keyword/superkeyword/SubClass.java new file mode 100644 index 0000000000..7179447fcb --- /dev/null +++ b/core-java/src/main/java/com/baeldung/keyword/superkeyword/SubClass.java @@ -0,0 +1,26 @@ +package com.baeldung.keyword.superkeyword; + +/** + * Created by Gebruiker on 5/15/2018. + */ +public class SubClass extends SuperKeyword { + + String message = "child class"; + + public SubClass(String message) { + super(message); + } + + public SubClass() { + super.printMessage(); + printMessage(); + } + + public void getParentMessage() { + System.out.println(super.message); + } + + public void printMessage() { + System.out.println(message); + } +} diff --git a/core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperKeyword.java b/core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperKeyword.java index adaef3aef7..8f6ea05d26 100644 --- a/core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperKeyword.java +++ b/core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperKeyword.java @@ -4,4 +4,17 @@ package com.baeldung.keyword.superkeyword; * Created by Gebruiker on 5/14/2018. */ public class SuperKeyword { + + String message = "super class"; + + public SuperKeyword() { + } + + public SuperKeyword(String message) { + this.message = message; + } + + public void printMessage() { + System.out.println(message); + } } diff --git a/core-java/src/main/java/com/baeldung/keyword/thiskeyword/ThisKeyword.java b/core-java/src/main/java/com/baeldung/keyword/thiskeyword/ThisKeyword.java index 08f0104490..63e881bba2 100644 --- a/core-java/src/main/java/com/baeldung/keyword/thiskeyword/ThisKeyword.java +++ b/core-java/src/main/java/com/baeldung/keyword/thiskeyword/ThisKeyword.java @@ -31,8 +31,15 @@ public class ThisKeyword { return this; } - class ThiInnerClass { + class ThisInnerClass { + boolean isInnerClass = true; + + public ThisInnerClass() { + ThisKeyword thisKeyword = ThisKeyword.this; + String outerString = ThisKeyword.this.name; + System.out.println(this.isInnerClass); + } } @Override From 969f40da6e6291faf561299fdd3fc0706554c2db Mon Sep 17 00:00:00 2001 From: mherbaghinyan Date: Thu, 17 May 2018 21:03:00 +0400 Subject: [PATCH 3/4] class name refactor --- .../src/main/java/com/baeldung/keyword/KeywordDemo.java | 4 ++-- .../superkeyword/{SuperKeyword.java => SuperBase.java} | 6 +++--- .../keyword/superkeyword/{SubClass.java => SuperSub.java} | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) rename core-java/src/main/java/com/baeldung/keyword/superkeyword/{SuperKeyword.java => SuperBase.java} (72%) rename core-java/src/main/java/com/baeldung/keyword/superkeyword/{SubClass.java => SuperSub.java} (78%) diff --git a/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java b/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java index 7d87aece86..ba27fe0df6 100644 --- a/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java +++ b/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java @@ -1,6 +1,6 @@ package com.baeldung.keyword; -import com.baeldung.keyword.superkeyword.SubClass; +import com.baeldung.keyword.superkeyword.SuperSub; import com.baeldung.keyword.thiskeyword.ThisKeyword; /** @@ -11,6 +11,6 @@ public class KeywordDemo { public static void main(String[] args) { ThisKeyword keyword = new ThisKeyword(); - SubClass child = new SubClass("message from the child class"); + SuperSub child = new SuperSub("message from the child class"); } } diff --git a/core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperKeyword.java b/core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperBase.java similarity index 72% rename from core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperKeyword.java rename to core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperBase.java index 8f6ea05d26..a5304fcef9 100644 --- a/core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperKeyword.java +++ b/core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperBase.java @@ -3,14 +3,14 @@ package com.baeldung.keyword.superkeyword; /** * Created by Gebruiker on 5/14/2018. */ -public class SuperKeyword { +public class SuperBase { String message = "super class"; - public SuperKeyword() { + public SuperBase() { } - public SuperKeyword(String message) { + public SuperBase(String message) { this.message = message; } diff --git a/core-java/src/main/java/com/baeldung/keyword/superkeyword/SubClass.java b/core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperSub.java similarity index 78% rename from core-java/src/main/java/com/baeldung/keyword/superkeyword/SubClass.java rename to core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperSub.java index 7179447fcb..83bc04ad0f 100644 --- a/core-java/src/main/java/com/baeldung/keyword/superkeyword/SubClass.java +++ b/core-java/src/main/java/com/baeldung/keyword/superkeyword/SuperSub.java @@ -3,15 +3,15 @@ package com.baeldung.keyword.superkeyword; /** * Created by Gebruiker on 5/15/2018. */ -public class SubClass extends SuperKeyword { +public class SuperSub extends SuperBase { String message = "child class"; - public SubClass(String message) { + public SuperSub(String message) { super(message); } - public SubClass() { + public SuperSub() { super.printMessage(); printMessage(); } From bc4690ee54e4f092c7f61b63fe51efe3aa9d4a40 Mon Sep 17 00:00:00 2001 From: mherbaghinyan Date: Sun, 27 May 2018 10:22:30 +0400 Subject: [PATCH 4/4] ThisKeyword -> KeywordTest --- .../com/baeldung/keyword/KeywordDemo.java | 4 ++-- .../{ThisKeyword.java => KeywordTest.java} | 19 ++++++++----------- 2 files changed, 10 insertions(+), 13 deletions(-) rename core-java/src/main/java/com/baeldung/keyword/thiskeyword/{ThisKeyword.java => KeywordTest.java} (64%) diff --git a/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java b/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java index ba27fe0df6..d98586c233 100644 --- a/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java +++ b/core-java/src/main/java/com/baeldung/keyword/KeywordDemo.java @@ -1,7 +1,7 @@ package com.baeldung.keyword; import com.baeldung.keyword.superkeyword.SuperSub; -import com.baeldung.keyword.thiskeyword.ThisKeyword; +import com.baeldung.keyword.thiskeyword.KeywordTest; /** * Created by Gebruiker on 5/14/2018. @@ -9,7 +9,7 @@ import com.baeldung.keyword.thiskeyword.ThisKeyword; public class KeywordDemo { public static void main(String[] args) { - ThisKeyword keyword = new ThisKeyword(); + KeywordTest keyword = new KeywordTest(); SuperSub child = new SuperSub("message from the child class"); } diff --git a/core-java/src/main/java/com/baeldung/keyword/thiskeyword/ThisKeyword.java b/core-java/src/main/java/com/baeldung/keyword/thiskeyword/KeywordTest.java similarity index 64% rename from core-java/src/main/java/com/baeldung/keyword/thiskeyword/ThisKeyword.java rename to core-java/src/main/java/com/baeldung/keyword/thiskeyword/KeywordTest.java index 63e881bba2..8c6adcfc50 100644 --- a/core-java/src/main/java/com/baeldung/keyword/thiskeyword/ThisKeyword.java +++ b/core-java/src/main/java/com/baeldung/keyword/thiskeyword/KeywordTest.java @@ -1,20 +1,17 @@ package com.baeldung.keyword.thiskeyword; -/** - * Created by Gebruiker on 5/14/2018. - */ -public class ThisKeyword { +public class KeywordTest { private String name; private int age; - public ThisKeyword() { + public KeywordTest() { this("John", 27); this.printMessage(); printInstance(this); } - public ThisKeyword(String name, int age) { + public KeywordTest(String name, int age) { this.name = name; this.age = age; } @@ -23,11 +20,11 @@ public class ThisKeyword { System.out.println("invoked by this"); } - public void printInstance(ThisKeyword thisKeyword) { + public void printInstance(KeywordTest thisKeyword) { System.out.println(thisKeyword); } - public ThisKeyword getCurrentInstance() { + public KeywordTest getCurrentInstance() { return this; } @@ -36,15 +33,15 @@ public class ThisKeyword { boolean isInnerClass = true; public ThisInnerClass() { - ThisKeyword thisKeyword = ThisKeyword.this; - String outerString = ThisKeyword.this.name; + KeywordTest thisKeyword = KeywordTest.this; + String outerString = KeywordTest.this.name; System.out.println(this.isInnerClass); } } @Override public String toString() { - return "ThisKeyword{" + + return "KeywordTest{" + "name='" + name + '\'' + ", age=" + age + '}';