public static Human createHuman(Class<?> c) {
        // һ͵
        Human human = null;
        try {
            // һ
            // human = (Human) Class.forName(c.getName()).newInstance();
            // MAPУֱӴȡóʼ
            if (humans.containsKey(c.getSimpleName())) {
                human = humans.get(c.getSimpleName());
            } else {
                human = (Human) Class.forName(c.getName()).newInstance();
                // ŵMAP
                humans.put(c.getSimpleName(), human);
            }
        } catch (InstantiationException e) {
            // Ҫǲ˵ɫĻûҪҪڣ˵˲źÿ
            System.out.println("ָɫ");
        } catch (IllegalAccessException e) {
            // ⣬ǾͿˣ...
            System.out.println("ඨ");
        } catch (ClassNotFoundException e) {
            // ˵࣬ҵȥ
            System.out.println("쵰ָҲ");
        }
        return human;
    }