黑马程序员技术交流社区

标题: 反射问题 [打印本页]

作者: 伍仪华    时间: 2011-7-29 17:57
标题: 反射问题
关于java反射的问题? 我想提取 某个类的 几个 成员变量,这样写对不?代码:
import java.lang.*;
import java.util.*;
import java.lang.reflect.*;
import java.awt.*;
class test
{
public static void main(String[] args)
{
try
{
Class newfm=Class.forName("fm");
Field fields[]=newfm.getFields();
for(int i=0;i<fields.length;i++)
System.out.println(fields.getName());
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
}

class fm
{
int a=10;
int b=20;
Point p=new Point(1,2);

}
作者: 李龙    时间: 2011-7-29 20:34
注意一下加注释的地方[code=java]class Test_729
{
        public static void main(String[] args)
        {
                try
                {         //这里改动过
                        fm newfm = new fm();
                        Field[] fields=newfm.getClass().getFields();
                        for(int i=0;i<fields.length;i++)
                        //之前你这里是fields,应该是fields。fields那是数组,而不是数组里面指定的那个值
                        System.out.println(fields.getName());
                }
                catch(Exception e)
                {}
        }
}

class fm
{ //这里很重要 要加修饰符   之前的方法是访问不到的
        public int a=10;
        public int b=20;
        Point p=new Point(1,2);
}[/code]问题补充
修饰符的作用域
作用域    当前类 同一package 子孙类 其他package
public         √     √          √      √
protected   √     √          √      ×
默认         √     √          ×      ×
private        √     ×          ×      ×
[ 本帖最后由 李龙 于 2011-07-29  20:41 编辑 ]




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2