① java 获取class对象 类名.class Class.forName()两种方法什么情况下使用 为什么
Class.forName()是根据类名称加载类 比如有一个类名为com.abc.AAA 此处Class.forName(‘com.abc.AAA ’).newInstance()就会创建一个AAA对象而.class一般用来获取类的通用属性 比如AAA.class.getDeclareMethod()是获取AAA类的所有声明的方法 主要用于反射机制
② java 父类如何在运行期动态获取子类类名
在父类中设计一个获取类名的方法
protect String getName(){
return getClass().getSimpleName();
}
到时直接调用就可以获取子类类名了
③ java 输入类名获取父类名
java中是可以多继承的,所以子类获得父类的类名,可以使用getSuperClass()这个方法来获得,示例如下:
public class Test1 extends Date {
public static void main(String[] args) {
new Test1().test();//测试获得父类类名方法
}
public void test() {
System.out.println(Test1.class.getSuperclass().getName());//打印父类类名,使用getSuperclass()方法
}
}