写一个Java方法,取得某个类里的所有属性
4个回答
展开全部
给你写了个例子你看下哈。。
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();
}
}
}
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();
}
}
}
展开全部
说实话 没看懂具体要啥效果 不过也给出个例子 应该有你要的
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;
}
}
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;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java反射机制
Class clz=某个类.class;
Field[] fields=clz.getDeclaredFields();
for (Field field : fields) {
System.out.println(field.getName());
}
Class clz=某个类.class;
Field[] fields=clz.getDeclaredFields();
for (Field field : fields) {
System.out.println(field.getName());
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
反射
楼上的很详细
楼上的很详细
参考资料: yanke1014
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询