Map map = new HashMap(); //使用instanceof时,不能精确区分出父类和接口类和实现类,当前类、父类、接口类 均返回 true System.out.println(map instanceof HashMap); //true System.out.println(map instanceof AbstractMap); //true,HashMap继承自 AbstractMap System.out.println(map instanceof Map); //true, AbstractMap实现的Map接口,HashMap extends AbstractMap implements Map System.out.println(AbstractMap.class.isInstance(map)); //true System.out.println(HashMap.class.isInstance(map)); //true System.out.println(Map.class.isInstance(map)); //true //使用getClass()可以查找到实例属于哪个实现类、接口类、父类 System.out.println(map.getClass().equals(Map.class)); //false System.out.println(map.getClass().equals(HashMap.class)); //true,精确指到是HashMap类 //输出类名 System.out.println(map.getClass().getSimpleName()); //HashMap System.out.println(map.getClass().getName()); //java.util.HashMap