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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Kelvinhu 中级黑马   /  2014-4-14 23:45  /  787 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Kelvinhu 于 2014-4-15 10:52 编辑

Constructor[] cons = Student.class.getConstructors();     //想要返回Student类中所有的构造方法,这样做为什么返回不了。。求解。

贴上代码。。。


  1. package Testpackage;

  2. import java.lang.reflect.Constructor;
  3. import java.lang.reflect.Method;
  4. import java.util.Date;

  5. public class Test {

  6.         public static void main(String[] args) throws Exception {
  7.                 // TODO Auto-generated method stub
  8.                 Student a = new Student();
  9.                 Class cls = a.getClass();
  10.                 System.out.println(cls);
  11.                 Method gstudy = cls.getMethod("study", null);
  12.                 System.out.println(gstudy);
  13.                 Constructor[] cons = Student.class.getConstructors();     //想要返回Student类中所有的构造方法,这样做为什么返回不了。。求解。
  14.                 for (Constructor co : cons) {
  15.                         System.out.println(co);
  16.                 }
  17.         }

  18. }

  19. class Student {
  20.         private int grade;
  21.         private static int teststatic;

  22.         Student() {
  23.                 this.grade = 0;
  24.         }

  25.         Student(int i) {
  26.                 this.grade = i;
  27.         }

  28.         public void study() {
  29.                 System.out.print("like study");
  30.                 grade = 100;
  31.                 teststatic = 0;
  32.         }

  33.         public void sleep() {
  34.                 System.out.print("like sleep");
  35.         }

  36.         static void play() {
  37.                 System.out.print("like play");
  38.                 teststatic = 0;
  39.         }

  40. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

2 个回复

倒序浏览
getDeclaredConstructors()   使用这个方法来得到所有的构造方法
回复 使用道具 举报
getConstructors()这个方法得到是所有的public权限的构造方法,而你的构造方法里都是默认权限的,所以你要想得到全部的构造方法,就要用到另外一个方法getDeclaredConstructors(),这个方法得到是所有声明的构造函数,包括私有的。
类似还有getDeclaredFields()得到所有声明的字段,getDeclaredMethods()得到所有声明的方法

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马