黑马程序员技术交流社区

标题: 有个反射问题 我找不到问题原因啊 亲们 帮我看下 [打印本页]

作者: 冯云飞    时间: 2015-6-2 23:29
标题: 有个反射问题 我找不到问题原因啊 亲们 帮我看下
  1. class Fanshe
  2. {
  3.         public static void main(String[] args) throws Exception
  4.         {
  5.                 Class cls = Dodo.class;
  6.                 Constructor ctc = Dodo.class.getConstructor(String.class);
  7.                 Dodo dod = (Dodo)ctc.newInstance("abcd");
  8.                 dod.show();
  9.         }
  10. }
  11. class Dodo
  12. {
  13.         String s;
  14.         Dodo(String s)
  15.         {
  16.                 this.s = s;
  17.         }
  18.         public void show()
  19.         {
  20.                 System.out.println(s);
  21.         }
  22. }
复制代码



报错?? 这样写不对吗?
作者: 经济    时间: 2015-6-3 08:06
不对,getConstructor(.....)方法只能,访问字节文件的公用构造方法,正确代码如下:
作者: 经济    时间: 2015-6-3 08:07
经济 发表于 2015-6-3 08:06
不对,getConstructor(.....)方法只能,访问字节文件的公用构造方法,正确代码如下: ...

package com.dyn.itheima.test3;

import java.lang.reflect.Constructor;

public class Fanshe {
        public static void main(String[] args) throws Exception {
                Class cls = Dodo.class;
                Constructor ctc = cls.getDeclaredConstructor(String.class);
                Dodo dod = (Dodo) ctc.newInstance("abcd");
                dod.show();
        }
}

class Dodo {
        String s;

        Dodo(String s) {
                this.s = s;
        }

        public void show() {
                System.out.println(s);
        }
}





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