黑马程序员技术交流社区

标题: 好难哦,有大虾看看这道题 [打印本页]

作者: Jeffery    时间: 2015-8-26 00:04
标题: 好难哦,有大虾看看这道题
编写一个类A,增加一个实力方法showString,用于打印一条字符串,在编写一个类TestA ,作为客户端,用键盘输入一个字符串,改字符 串就是类A的全名,使用反射机制创建该类的对象,并调用该对象中的方法showString。
作者: Οo无敌兔子оΟ    时间: 2015-8-26 15:54
本帖最后由 Οo无敌兔子оΟ 于 2015-8-26 21:43 编辑

class Test3 {          /**          * @param args     
     */      
  public static void main(String[] args) {              
   // TODO 自动生成的方法存根           
      //创建一个读取流读取键盘数据              
   BufferedReader fr =    new BufferedReader(new InputStreamReader(System.in));            
    try {                  
      //创建一个变量记录读取的数据                       
  String str = fr.readLine();                 
        //获取对象的class对象并获取构造方法创建对象                  
       Demo d = (Demo)Class.forName(str).getConstructor(String.class).newInstance(str);                    
     //调用方法                 
        d.showString();        
        } catch (IOException e) {                    
     // TODO 自动生成的 catch 块      
                   e.printStackTrace();         
       } catch (InstantiationException e) {         
               // TODO 自动生成的 catch 块               
          e.printStackTrace();           
      } catch (IllegalAccessException e) {            
             // TODO 自动生成的 catch 块           
              e.printStackTrace();         
       } catch (IllegalArgumentException e) {      
                   // TODO 自动生成的 catch 块            
            e.printStackTrace();        
         } catch (InvocationTargetException e) {              
           // TODO 自动生成的 catch 块                 
        e.printStackTrace();         
       } catch (NoSuchMethodException e) {           
              // TODO 自动生成的 catch 块               
         e.printStackTrace();         
       } catch (SecurityException e) {              
           // TODO 自动生成的 catch 块                 
        e.printStackTrace();         
       } catch (ClassNotFoundException e) {            
            // TODO 自动生成的 catch 块              
           e.printStackTrace();           
      }     
    }
  }
class Demo{      
  private String s;   
     //定义一个构造函数   
     public Demo(String s){           
      this.s =s;     
    }        
//定义一个方法      
  public void showString(){         
       System.out.println(s);     
    }
}


输入的全名是  包名.类名




作者: 齐伟超    时间: 2015-8-26 17:23
Οo无敌兔子оΟ 发表于 2015-8-26 15:54
class Test3 {          /**          * @param args          */         public static void main(String ...

。。。。。。好有耐心
作者: 星语千寻    时间: 2015-8-26 17:24
66666。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2