Java中的getName,class 和forName的区别
3个回答
展开全部
没有getName,只有实例化对象.getClass().getName(); 获取class名简悉称。例如:
String name = ""拦绝乎;
name.getClass().getName();
Class.forName();是为了获取class的字节码,是映射。例如:
Class clazz = Class.forName("宏中java.lang.String");
String newInstance = (String) clazz.newInstance();
展开全部
getName以String形式返回次Class对象所表示的实体名称
class返回该对象的凯迹运行时类的Java.lang.Class对象盯闹并
forName是运用反射的原理创建对弯拦象
class返回该对象的凯迹运行时类的Java.lang.Class对象盯闹并
forName是运用反射的原理创建对弯拦象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要调用带参明缺数的方法invoke方法
举个例子:
package com;
import java.lang.reflect.Method;
public class InvokeMethod {
public static void main(String args[]){
try
{
//动态加载Student类
Class student = Class.forName("com.Student");
//获取Student类名称为printInfo的方法卜困
Method method1 = student.getMethod("printInfo");
//调用printInfo方法
method1.invoke(student.newInstance());
//获取Student类名称为printInfo的方法,String.class是方法的参数类激弊辩型
Method method2 = student.getMethod("printAddress",String.class);
//调用printAddress方法,其中HK是为方法传递一个参数值
method2.invoke(student.newInstance(),"hello关知红");
}catch(Exception e)
{
e.printStackTrace();
}
}
}
举个例子:
package com;
import java.lang.reflect.Method;
public class InvokeMethod {
public static void main(String args[]){
try
{
//动态加载Student类
Class student = Class.forName("com.Student");
//获取Student类名称为printInfo的方法卜困
Method method1 = student.getMethod("printInfo");
//调用printInfo方法
method1.invoke(student.newInstance());
//获取Student类名称为printInfo的方法,String.class是方法的参数类激弊辩型
Method method2 = student.getMethod("printAddress",String.class);
//调用printAddress方法,其中HK是为方法传递一个参数值
method2.invoke(student.newInstance(),"hello关知红");
}catch(Exception e)
{
e.printStackTrace();
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询