黑马程序员技术交流社区
标题:
面试题:创建类A,增加showString方法,用来测试反射
[打印本页]
作者:
MoonsenHung
时间:
2015-8-27 16:13
标题:
面试题:创建类A,增加showString方法,用来测试反射
package com.itheima_01;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Scanner;
/**
*
* 2,编写一个类A,增加一个实力方法showString,用于打印一条字符串,在编写一个类TestA ,
* 作为客户端,用键盘输入一个字符串,改字符串就是类A的全名,使用反射机制创建该类的对象, 并调用该对象中的方法showString
*
* 思路:
* 1.创建类A, 2,创建TestA方法 3.反射创建类A的字节码对象。 4.调用类A的whowString方法,并且返回打印值。
*
*
* @author perry
*
*/
public class TestA {
public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
// 封装键盘输入
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
// 创建类A的字节码对象
Class c = Class.forName("com.itheima_01.A");
//调用构造函数,创建Class A对象。
Constructor con = c.getConstructor();
Object obj = con.newInstance();
// 调用其中的showString文件。
Method mod = c.getMethod("showString",String.class);
mod.invoke(obj, s);
}
}
// 创建类A
class A {
public A(){};
// 添加类A的showString方法
public void showString(String s) {
System.out.println("class"+" "+s);
}
}
复制代码
编写一个类A,增加一个实力方法showString,用于打印一条字符串,在编写一个类TestA ,
* 作为客户端,用键盘输入一个字符串,改字符串就是类A的全名,使用反射机制创建该类的对象, 并调用该对象中的方法showString
作者:
qiushaocong
时间:
2015-8-27 21:27
喷血
作者:
a4903913
时间:
2015-9-1 18:50
你没有改变类名啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2