写一个Java方法,取得某个类里的所有属性

如题所述

给你写了个例子你看下哈。。

import java.lang.reflect.Field;

public class GetField {

public static void main(String[] args) {
try {
Class clazz = Class.forName("");//根据类名获得其对应的Class对象 写上你想要的类名就是了 注意是全名 如果有包的话要加上 比如java.Lang.String
Field[] fields = clazz.getDeclaredFields();//根据Class对象获得属性 私有的也可以获得
for(Field f : fields) {
System.out.println(f.getType().getName());//打印每个属性的类型名字
}
} catch(Exception e) {
e.printStackTrace();
}

}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-01
说实话 没看懂具体要啥效果 不过也给出个例子 应该有你要的
import java.lang.reflect.Field;

public class Test {

public static void main(String[] args) {
User user = new User();
user.setName("秦时明月");
user.setAge(3);
user.setPassword("夜尽天明");
//下面为获取上面user的所有属性
Class c = user.getClass();
Field[] fields = c.getDeclaredFields();
Field.setAccessible(fields, true);
try {
for (Field field : fields) {
System.out.println(field.getType()+" "+field.getName()+"="+field.get(user));
}
} catch (Exception e) {
e.printStackTrace();
}
}

}
class User{
private String name;
private String password;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
第2个回答  2010-09-01
java反射机制
Class clz=某个类.class;
Field[] fields=clz.getDeclaredFields();
for (Field field : fields) {
System.out.println(field.getName());
}
第3个回答  2010-09-05
反射

楼上的很详细

参考资料:yanke1014

写一个Java方法,取得某个类里的所有属性
Class clazz = Class.forName("");\/\/根据类名获得其对应的Class对象 写上你想要的类名就是了 注意是全名 如果有包的话要加上 比如java.Lang.String Field[] fields = clazz.getDeclaredFields();\/\/根据Class对象获得属性 私有的也可以获得 for(Field f : fields) { System.out.println(f.getTy...

java中如何取到一个对象的所有属性值,并且在创建一个相同的对象
用反射机制吧,很轻松!比如说:只知道对象a,问你要a里面所有属性值 问题补充:udvs 写道a.getClass().getDeclaredFields()哥们,我要的是值,不是属性名,而且是私有的成员,公有的我能得到 问题补充:izhangh 写道 public static Object deepClone(Object obj) { try { ByteArrayOutputStream bo...

java 怎么获取一个对象的属性
1、过去某个类的某个属性:可以通过对象调用其属性:1)、创建对象 : 类名 对象名 = new 类名();2)、调用属性: 对象名.属性 2、获取某个对象的所有属性 数组类型[] 数组名 = 对象名.getClass().getDeclaredFields();

java中如何遍历实体类的属性和数据类型以及
可以通过反射获取到属性方法信息:public class User { private int id; private String name; private double amount; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } ...

如何用Java反射取得一个对象里所有get方法的结果
fields = obj.getClass().getDeclaredFields();\/\/获得属性 for (Field field : fields) { PropertyDescriptor pd = new PropertyDescriptor(field.getName(),clazz);Method getMethod = pd.getReadMethod();\/\/获得get方法 Object o = getMethod.invoke(obj);\/\/执行get方法返回一个Object } } ...

用java写一个英雄类.属性:力量,体力,敏捷.方法:技能,攻击方法,移动方法...
public class Hero {public int liliang;public int tili;public int mingjie;public void skill(){System.out.println("我用技能了!!");}public void attack(){System.out.println("我要打人了!!");}public void move(){System.out.println("我动了0.0!!");}} ...

java中如何遍历一个类的所有对象?
你这里的numbers是一个对象数组,所以你可以这样遍历,单个对象是不行的。遍历对象内部成员,在反射里面有方法,我刚练习完,只有将对象的成员分解到数组中才行。分享给你了:Class c=Class.forName("AbstractClassTest.Car"); \/\/要包名+类名 Object o=c.newInstance();Car car=(Car)o;Field[] ...

java一个类如何获得另一个类中的某个值
类B:class B{ private String name;private String department;} 累A:class A{ private B b; \/\/b中的部门和名称,实体类b的引用 private String date \/\/其他属性 } 至于数据库中的两个表a和b要不要简历外键,那要看两个表中有没有关联关系。

关于java编程的问题:一个类调用另一个类中构造方法中所定义的参数。
有一个类Monitor它有属性String height;String width public Monitor(){} public Monitor(String height,String width){} 有一个空参的一个有参的构造的方法 在main方法里我做初始化动作 Monitor monitor=new Monitor();这个构造只是把显示器这个对象创造出来了,它的属性就没有值,也可以再手动给它赋...

java程序:编写一个Product类,定义属性(商品编号(private)名称、价格...
对于私有的属性可以在类中增加get和set方法 例如:public class Product { private long PID = -1;public long getPID(){return PID;} public void setPID(long value){this.PID = value;} } \/\/通过调整get和set方法就可以实现对私有属性的访问控制 ...

相似回答