我有一个类,我想找到它的所有 公共字段 (不是方法)。我怎样才能做到这一点?
谢谢!
Field[] fields = YourClassName.class.getFields();
返回该类的所有公共变量的数组。
getFields()
返回整个类继承中的字段。如果要仅在相关类中定义字段,而不在其超类中定义字段,请使用getDeclaredFields()
,并public
通过以下Modifier
方法过滤它们:
Modifier.isPublic(field.getModifiers());
的YourClassName.class
字面实际上代表类型的对象java.lang.Class
。检查其文档以获取更多有趣的反射方法。
Field
上面的类是java.lang.reflect.Field
。您可以查看整个java.lang.reflect
程序包。
我有一个名为Attributes的类,它有如下所列的一些实例变量:
我想从传递的几个值动态调用几个“setter”方法。每个方法都将具有字符串,int...要设置的变量类型(例如:setUserName(String userName)或setUserAge(int age))。 在我的例子中,我有一个setter方法“setUse_status(int use_stats)”,我无法配置getDeclaredMethod方法工作。似乎在获取方法时,classVa
问题内容: 有没有办法获取所有当前在javascript范围内的变量? 问题答案: 否。“范围内”变量由“作用域链”确定,该变量无法通过编程方式访问。 有关详细信息(很多),请查看ECMAScript(JavaScript)规范。这是指向官方页面的链接,您可以在其中下载规范规范(PDF),而这是指向官方的可链接HTML版本的链接。 根据您对Camsoft的评论进行更新 事件函数作用 域中 的变量取
问题内容: 我有一堂课,其中包含有关Person的信息,看起来像这样: 我想返回所有变量。我试图使用反射来实现它,如该问题所示,但我无法打印实例变量。 解决此问题的正确方法是什么? 问题答案: 从实现toString:
问题内容: 我需要在其他班上变数。我怎样才能做到这一点? 所以我尝试在Textcl.class中使用,但是得到了。 问题答案: 您将得到空值,因为inString从未按Robert Kilar在注释中正确指出的那样进行初始化。 您可以通过使用类名来引用静态变量。 示例ClassName.variablename。就你而言 运行您的主类。当您运行inString时,将在该类的构造函数中对其进行初始化
我面临以下问题:我必须给成千上万的图形用户界面元素命名。如果它能像这样工作,那就太好了: 如果我能将元素的名称设置为“Classname.myMenuItem”,那就太好了。 是否有任何方法来获取变量的名称(变量名称ofc,而不是JMenuItem.getName())?