1. newInstance()
Class.forName(className).newInstance()
使用forName方法,JVM自动寻找名为className的类
使用newInstance方法,创建一个该类的对象
2. instanceof
if(obj instanceof A)
if(obj instanceof B)
if(obj instanceof C)
判断obj是不是A、B、C的实例
public class Test {
public static void main(String[] args) {
A a = new A();
B b = new B();
if(a instanceof A) System.out.println("Yes1");
if(b instanceof A) System.out.println("Yes2");
if(b instanceof B) System.out.println("Yes3");
}
}
class A extends B{
}
class B{
}
输出为:
Yes1
Yes3
3. getClass()和getSimpleName()
public class Test {
public static void main(String[] args) {
A a = new A();
B b = new B();
System.out.println(a.getClass());
System.out.println(b.getClass());
System.out.println(b.getClass().getSimpleName());
}
}
class A extends B{
}
class B{
}
输出为:
class A
class B
B