diff --git a/core-java/src/main/java/com/baeldung/classloader/SampleClassLoader.java b/core-java/src/main/java/com/baeldung/classloader/SampleClassLoader.java new file mode 100644 index 0000000000..ba858b62d3 --- /dev/null +++ b/core-java/src/main/java/com/baeldung/classloader/SampleClassLoader.java @@ -0,0 +1,22 @@ +package com.baeldung.classloader; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; + +public class SampleClassLoader { + + public void loadClass() throws ClassNotFoundException { + + System.out.println("Classloader of this class:"+SampleClassLoader.class.getClassLoader()); + + Class.forName("com.baeldung.classloader.SampleClassLoader", true + , SampleClassLoader.class.getClassLoader().getParent()); + + } + + +} diff --git a/core-java/src/test/java/com/baeldung/classloader/SampleClassLoaderTest.java b/core-java/src/test/java/com/baeldung/classloader/SampleClassLoaderTest.java new file mode 100644 index 0000000000..60d0b4d75b --- /dev/null +++ b/core-java/src/test/java/com/baeldung/classloader/SampleClassLoaderTest.java @@ -0,0 +1,15 @@ +package com.baeldung.classloader; + +import org.junit.Test; + +import static org.junit.Assert.*; + +public class SampleClassLoaderTest { + @Test(expected = ClassNotFoundException.class) + public void givenAppClassLoader_whenParentClassLoader_thenClassNotFoundException() throws Exception { + SampleClassLoader sampleClassLoader = (SampleClassLoader) Class.forName(SampleClassLoader.class.getName()).newInstance(); + sampleClassLoader.loadClass(); + + } + +} \ No newline at end of file