lizijiachen 2017-08-21 16:19 采纳率: 0%
浏览 2622

Class反射——getDeclaredConstructors()按照声明的反方向输出?

您好,我想问一个问题,为什么我在学类的反射时,在类中加入成员方法,在主函数中按声明顺序调用构造方法(getDeclaredConstructor)时就按照声明的反顺序输出了,我是小白,您能帮忙解答一下吗?
package com.li ;

public class MoreConstructor {
/*
* @author
* */
//通过Class反射调用结构体类型

String s;
 int i,i1,i2;
//调用位置字符串的构造体方法

 //无参数的构造类型
 public MoreConstructor(){
    System.out.println("这是调用无参数的构造方法");
}

//调用有两个参数的构造体方法
public MoreConstructor(String srt,int num){
    System.out.println("这是调用有两个参数的构造体方法");
}

public MoreConstructor(String...strings) throws NumberFormatException {
        if(0<strings.length){
            i=Integer.valueOf(strings[0]);
        }else if(1<strings.length){
            i1=Integer.valueOf(strings[1]);
        }else if(2<strings.length){
            i2=Integer.valueOf(strings[2]);
        }

}

public void f(){

}

}

++++++++++这是一条分割线+++++++++++++++++++++++++++
package com.li

;
import java.lang.Class;
import java.lang.reflect.Constructor;

public class Texterror {

/*
 * 用来测试的类
 * */
//编写主函数
public static void main(String[] args)throws ClassNotFoundException {

    //创建调用结构体类的对象
    Class<?> classzz=Class.forName("com.li 

.MoreConstructor");
Constructor<?>[] constructor=classzz.getDeclaredConstructors();
for(int i=0;i Constructor> con=constructor[i];
System.out.print("构造体名称为"+"\t");
System.out.println(con);

        Class[] parameter=con.getParameterTypes();
        System.out.print("该构造体入口参数依次为"+"\t");
        for(int j=0;j<parameter.length;j++){
            System.out.print(parameter[j]+"                  ");
        }
        System.out.println("\n"+"============================");

        Class[] exception=con.getExceptionTypes();
        System.out.print("构造体可能抛出异常的参数为"+"\t");
        for(int j=0;j<exception.length;j++){
            System.out.print(exception[j]+"                  ");
        }





        System.out.println("\n"+"**********************************");

    }


}

}

  • 写回答

2条回答 默认 最新

  • threenewbee 2017-08-22 01:35
    关注

    java编译器在编译的时候,成员的顺序是不一定按照定义的顺序来的,谁也没说反射的顺序必须和定义的相同。

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!