diff --git a/core-java-modules/core-java-lang-oop-2/pom.xml b/core-java-modules/core-java-lang-oop-2/pom.xml
index 669a37b0f5..b7bd72372b 100644
--- a/core-java-modules/core-java-lang-oop-2/pom.xml
+++ b/core-java-modules/core-java-lang-oop-2/pom.xml
@@ -14,6 +14,19 @@
../../parent-java
+
+
+ com.h2database
+ h2
+ ${h2.version}
+ test
+
+
+
+
+ 1.4.199
+
+
core-java-lang-oop-2
diff --git a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/Student.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/Student.java
new file mode 100644
index 0000000000..8fc6da80fa
--- /dev/null
+++ b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/Student.java
@@ -0,0 +1,41 @@
+package com.baeldung.accessmodifiers;
+
+import java.math.BigDecimal;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+
+public class Student {
+
+ private BigDecimal grades; //new representation
+ private String name;
+ private int age;
+
+ public int getGrades() {
+ return grades.intValue(); //Backward compatibility
+ }
+
+ public Connection getConnection() throws SQLException {
+
+ final String URL = "jdbc:h2:~/test";
+ return DriverManager.getConnection(URL, "sa", "");
+
+ }
+
+ public BigDecimal bigDecimalGrades() {
+ return grades;
+ }
+
+ public void setAge(int age) {
+ if (age < 0 || age > 150)
+ throw new IllegalArgumentException();
+
+ this.age = age;
+ }
+
+ @Override
+ public String toString() {
+ return this.name;
+ }
+
+}
diff --git a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierTest.java b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierTest.java
new file mode 100644
index 0000000000..79b31cdae5
--- /dev/null
+++ b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierTest.java
@@ -0,0 +1,36 @@
+package com.baeldung.accessmodifiers;
+
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.TestInstance.Lifecycle;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import java.math.BigDecimal;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+
+@TestInstance(Lifecycle.PER_CLASS)
+public class PublicAccessModifierTest {
+
+ @Test
+ public void whenUsingIntValue_valuesAreEqual() {
+
+ assertEquals(0, new BigDecimal(0).intValue());
+ }
+
+ @Test
+ public void whenUsingToLowerCase_valuesAreEqual() {
+
+ assertEquals("alex", "ALEX".toLowerCase());
+ }
+
+ @Test
+ public void whenConnectingToH2_connectionInstanceIsReturned() throws SQLException {
+
+ final String URL = "jdbc:h2:~/test";
+ Connection conn = DriverManager.getConnection(URL, "sa", "");
+ assertNotNull(conn);
+ }
+
+}