public class MyClassLoader extends ClassLoader {

@Override
public Class<?> loadClass(String name) throws ClassNotFoundException {
String fileName = name.substring(name.lastIndexOf(".")) + "class";
InputStream inputStream = getClass().getResourceAsStream(fileName);
if (inputStream==null) {
return super.loadClass(name);
}
try {
byte[] buff = new byte[inputStream.available()];
inputStream.read(buff);
return defineClass(name, buff, 0, buff.length);
} catch (Exception e) {
throw new ClassNotFoundException();
}
}

public static void main(String[] args) throws Exception{
MyClassLoader myClassLoader=new MyClassLoader();
Object instance = myClassLoader.loadClass("com.csdn.reader.MyClassLoader").newInstance();
System.out.println(instance.getClass());
}
}