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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天写反个射的时候,出现个问题,在try中定义了一个变量,在外面无法使用它,如下:
public class ReflectControlPerson {

        /**
         * @param args
         */

       
        public Object getInstance(String className,String paraNameS,int paraNameI)
        {
                 
                try {
                       
                        Constructor con = Class.forName(className).getConstructor(String.class,int.class);
                         
                       
                } catch (Exception e) {
                       
                        e.printStackTrace();
                }
               
                return  con.newInstance(paraNameS,paraNameI); //此处con未定义
       
        }
无奈我只有在try外部定义了一个obj ,在把con.newInstance(paraNameS,paraNameI)结果赋值给obj

为什么在try内部定义的不许给外部使用呢??多麻烦啊

1 个回复

倒序浏览
可以改成:
Constructor con = null;
try {
                        
                        con = Class.forName(className).getConstructor(String.class,int.class);
                        
                        
                }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马