黑马程序员技术交流社区
标题:
怎么反射接口中的成员变量?
[打印本页]
作者:
吴光新
时间:
2013-8-10 05:30
标题:
怎么反射接口中的成员变量?
本帖最后由 Jiewin 于 2013-8-14 07:25 编辑
查看API的描述,getDeclaredFields方法可以返回此类所有已声明字段的Field对象数组,
这些对象映射此Class对象所表示的类或接口所声明的所有字段。但输出结果只有x、y,
那么接口Inter中的z是怎么获取的?
import java.lang.reflect.Field;
interface Inter{
public int z = 8;
}
class ClassPoint implements Inter{
public int x;
private int y;
public ClassPoint(int x, int y) {
this.x = x;
this.y = y;
}
}
public class Demo {
public static void main(String[] args) throws Exception {
ClassPoint cp = new ClassPoint(3,5);
for(Field field : cp.getClass().getDeclaredFields()){
System.out.println(field.getName());
}
}
}
复制代码
作者:
影响力147753321
时间:
2013-8-10 08:24
import java.lang.reflect.Field;
interface Inter
{
public int z = 8;
}
class ClassPoint implements Inter
{
public int x;
private int y;
public ClassPoint(int x, int y)
{
this.x = x;
this.y = y;
}
}
public class Mamin
{
public static void main(String[] args) throws Exception
{
ClassPoint cp = new ClassPoint(3, 5);
for (Class<?> ca : cp.getClass().getInterfaces())// 先得到接口的Class对象数组
{
ca.getFields();// 得到Field对象数组
for (Field fd : ca.getFields())// 遍历数组得到所有对象的名字
{
System.out.println(fd.getName());
}
}
}
作者:
以防万一
时间:
2013-8-13 22:16
亲,如问题已解决请将分类的未解决改为已解决。
以后的问题贴也要及时更改分类哦~
保持队形,谢谢合作
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2