Here you can find the source of loadClass(String className, Class> context, boolean checkParent)
static Class<?> loadClass(String className, Class<?> context, boolean checkParent)
//package com.java2s; //Licensed under the Apache License, Version 2.0 (the "License"); public class Main { /**//from ww w .j a va2s . c om * Loads a class from the classloader; If not found, the classloader of the {@code context} class specified will be * used. If the flag {@code checkParent} is true, the classloader's parent is included in the lookup. */ static Class<?> loadClass(String className, Class<?> context, boolean checkParent) { Class<?> clazz = null; try { clazz = Thread.currentThread().getContextClassLoader().loadClass(className); } catch (ClassNotFoundException e) { if (context != null) { ClassLoader loader = context.getClassLoader(); while (loader != null) { try { clazz = loader.loadClass(className); return clazz; } catch (ClassNotFoundException e1) { loader = checkParent ? loader.getParent() : null; } } } } return clazz; } }