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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/**
*
*/
package com.bsdmlx;

import java.lang.reflect.Constructor;
/**
* @author Administrator
*
*/
public class Test9 {

        /**
         * @param args
         */
        public static void main(String[] args) throws Exception{
                // TODO 自动生成的方法存根
                Class clazz = Class.forName("com.bsdmlx.Student");

                Constructor c =clazz.getConstructor(String.class,int.class);
}
class Student{
        private String name;
        private int age;
        public Student(String name,int age){
                this.name=name;
                this.age=age;
        }
        public String getName() {
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }
        public int getAge() {
                return age;
        }
        public void setAge(int age) {
                this.age = age;
        }
}

4 个回复

正序浏览
邓士林 发表于 2015-9-11 16:31
Constructor c =clazz.getConstructor(String.class,int.class);你是获取指定类型的构造函数,所以必 ...

那要是提供的构造函数没有修饰符 那不是有字节码也不能创建对象了,里面的方法也拿不出来了是吗?
回复 使用道具 举报
     Constructor c =clazz.getConstructor(String.class,int.class);你是获取指定类型的构造函数,所以必须为public,才能访问,不然你无法使用啊!比如你把此构造函数定义为private,你就不发new对象
回复 使用道具 举报
知道 的回复下啊  谢谢谢谢谢  
回复 使用道具 举报
我想知道 构造函数哪里 为什么要加public
不加就有有错误是为什么
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马