A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package com.itheima_01;

  2. import java.lang.reflect.Constructor;
  3. import java.lang.reflect.InvocationTargetException;
  4. import java.lang.reflect.Method;
  5. import java.util.Scanner;

  6. /**
  7. *
  8. * 2,编写一个类A,增加一个实力方法showString,用于打印一条字符串,在编写一个类TestA ,
  9. * 作为客户端,用键盘输入一个字符串,改字符串就是类A的全名,使用反射机制创建该类的对象, 并调用该对象中的方法showString
  10. *
  11. * 思路:
  12. * 1.创建类A, 2,创建TestA方法 3.反射创建类A的字节码对象。 4.调用类A的whowString方法,并且返回打印值。
  13. *
  14. *
  15. * @author perry
  16. *
  17. */
  18. public class TestA {
  19.        
  20.         public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
  21.                 // 封装键盘输入
  22.                 Scanner sc = new Scanner(System.in);

  23.                 String s = sc.nextLine();

  24.                 // 创建类A的字节码对象
  25.                 Class c =  Class.forName("com.itheima_01.A");
  26.                 //调用构造函数,创建Class A对象。
  27.             Constructor con = c.getConstructor();
  28.             Object obj = con.newInstance();
  29.             
  30.           
  31.                 // 调用其中的showString文件。

  32.                 Method mod = c.getMethod("showString",String.class);
  33.             mod.invoke(obj, s);
  34.             

  35.         }

  36. }

  37. // 创建类A
  38. class A {
  39.        
  40.         public A(){};
  41.                 // 添加类A的showString方法
  42.                 public void showString(String s) {

  43.                         System.out.println("class"+" "+s);
  44.                        
  45.                 }
  46.        
  47.         }
  48.        
复制代码

编写一个类A,增加一个实力方法showString,用于打印一条字符串,在编写一个类TestA ,
* 作为客户端,用键盘输入一个字符串,改字符串就是类A的全名,使用反射机制创建该类的对象, 并调用该对象中的方法showString



2 个回复

倒序浏览
喷血
回复 使用道具 举报
你没有改变类名啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马