diff --git a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/Employee.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/Employee.java new file mode 100644 index 0000000000..e43b6634ed --- /dev/null +++ b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/Employee.java @@ -0,0 +1,50 @@ +package com.baeldung.core.modifiers; + +public class Employee { + + private String privateId; + public String name; + private boolean manager; + + public Employee(String id, String name) { + changeId(id); + this.name = name; + } + + private Employee(String id, String name, boolean managerAttribute) { + this.privateId = id; + this.name = name; + this.privateId = id + "_ID-MANAGER"; + } + + public void changeId(String customId) { + if (customId.endsWith("_ID")) { + this.privateId = customId; + } else { + this.privateId = customId + "_ID"; + } + } + + public String getId() { + return privateId; + } + + public boolean isManager() { + return manager; + } + + public void elevateToManager() { + if ("Carl".equals(this.name)) { + setManager(true); + } + } + + private void setManager(boolean manager) { + this.manager = manager; + } + + public static Employee buildManager(String id, String name) { + return new Employee(id, name, true); + } + +} diff --git a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/ExampleClass.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/ExampleClass.java new file mode 100644 index 0000000000..db58b4f00b --- /dev/null +++ b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/ExampleClass.java @@ -0,0 +1,10 @@ +package com.baeldung.core.modifiers; + +public class ExampleClass { + + public static void main(String[] args) { + Employee employee = new Employee("Bob","ABC123"); + employee.changeId("BCD234"); + System.out.println(employee.getId()); + } +} diff --git a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/PublicOuterClass.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/PublicOuterClass.java new file mode 100644 index 0000000000..329ebf3bb6 --- /dev/null +++ b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/PublicOuterClass.java @@ -0,0 +1,16 @@ +package com.baeldung.core.modifiers; + +public class PublicOuterClass { + + public PrivateInnerClass getInnerClassInstance() { + PrivateInnerClass myPrivateClassInstance = this.new PrivateInnerClass(); + myPrivateClassInstance.id = "ID1"; + myPrivateClassInstance.name = "Bob"; + return myPrivateClassInstance; + } + + private class PrivateInnerClass { + public String name; + public String id; + } +}