㈠ java中如何获取类的属性
把这个方法写在基类
publicvoidgetFields(){
Class<?>cls=getClass();
for(;cls!=Object.class;cls=cls.getSuperclass()){
Field[]fs=cls.getDeclaredFields();
for(Fieldf:fs){
System.out.println(f.getName());
}
}
}
㈡ Java如何获得一个类里面的各个属性和类型
使用反射可以获取到;
代码如下:
importjava.lang.reflect.Field;//这是需要引入的包
Field[]f=类名.class.getDeclaredFields();//获取该类的字段(public,protected,default(package)access,andprivate)
for(Fieldff:f)//遍历字段
{
System.out.println(ff.getType());//获取字段类型
System.out.println(ff.getName());//获取字段名
}
㈢ java如何判断属性类型
你是想通过传入一个类模板然后判断出某个属性的类型?
利用反射可以做到
Field
filed
=
className.getDeclaredField(parameter);
className为对应类模版,parameter为你的属性名称
filed.getType().toString();
然后利用这个方法可以查询到对应属性类型
基本类型直接返回比如
int
直接返回int
,如果是包装或者引用
则直接
返回对应包类名
比如
class
java.lang.Short
如果你要获取所有的
还是利用class对象
Field[]
fields
=className.getDeclaredFields();
循环遍历就可以了
㈣ 如何通过Java反射获取一个类属性的类型要类型Class<
先获取Method对象
以下仅供参考
packagecom.kidd.test.;
importjava.lang.reflect.Method;
/**
*Helloworld!
*
*/
publicclassMain{
publicstaticvoidmain(String[]args){
Methodmethod1=null;
Methodmethod2=null;
try{
method1=Class.forName("com.kidd.test..Cat").getMethod("getName",(Class<?>[])null);
method2=Class.forName("com.kidd.test..Cat").getMethod("getChilds",(Class<?>[])null);
}catch(NoSuchMethodExceptionex){
ex.printStackTrace();
}catch(SecurityExceptionex){
ex.printStackTrace();
}catch(ClassNotFoundExceptionex){
ex.printStackTrace();
}
if(null!=method1){
System.out.println(method1.getGenericReturnType().getTypeName());
}
if(null!=method2){
System.out.println(method2.getGenericReturnType().getTypeName());
}
}
}
classCat{
privateStringname;
privateCat[]childs;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicCat[]getChilds(){
returnchilds;
}
publicvoidsetChilds(Cat[]childs){
this.childs=childs;
}
}
㈤ 如何利用java的反射机制动态的取得对象的属性
Java.lang.Class
getDeclaredFields()
返回 Field 对象的一个数组,这些对象反映此 Class
对象所表示的类或接口所声明的所有字段。
Java.lang.reflect.Field
getName()
返回此 Field 对象表示的字段的名称。
getGenericType()
返回一个 Type 对象,它表示此 Field 对象所表示字段的声明类型。
以上是jdk里面的一些用法,就是用你想要获取对象的属性得到它的class 然后调用 getDeclaredFields()就可以得到字段数组了。
然后再用下面的方法就可以得到属性名,类型这一些。
很简单,要想实现现复杂的功能就再找一下api 找出相应的方法。
㈥ java 怎么获取一个对象的属性
1、过去某个类的某个属性:
可以通过对象调用其属性:
1)、创建对象 : 类名 对象名 = new 类名();
2)、调用属性: 对象名.属性
2、获取某个对象的所有属性
数组类型[] 数组名 = 对象名.getClass().getDeclaredFields();
㈦ java中如何遍历实体类的属性和数据类型以及
可以通过反射获取到属性方法信息:
publicclassUser{
privateintid;
privateStringname;
privatedoubleamount;
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicdoublegetAmount(){
returnamount;
}
publicvoidsetAmount(doubleamount){
this.amount=amount;
}
}
获取类信息:
importjava.lang.reflect.Field;
importjava.lang.reflect.Method;
importjava.lang.reflect.Parameter;
publicclassReflectDemo{
publicstaticvoidmain(String[]args){
Classclz=User.class;
//获取所有自己定义的属性(不包含从Object继承的,如果需要可使用getFields()方法)
Field[]fields=clz.getDeclaredFields();
for(Fieldf:fields){
System.out.println("属性名称:"+f.getName()+",属性类型:"+f.getType().getName());
}
//获取所有自己定义的方法(同样不包含继承的)
Method[]methods=clz.getDeclaredMethods();
for(Methodm:methods){
System.out.println("方法名称:"+m.getName());
System.out.println("返回值类型:"+m.getReturnType().getName());
//获取方法的所有参数
Parameter[]parameters=m.getParameters();
for(Parameterp:parameters){
System.out.println("参数类型:"+p.getType().getName());
}
System.out.println("==========================================");
}
}
}
㈧ 写一个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();
}
}
}
㈨ java 传过来一个对象,如何得到这个对象的所有属性值
1、过去某个类的某个属性:
2,可以通过对象调用其属性:
3,创建对象 :类名 对象名 = new 类名();
4,调用属性:对象名.属性
5,获取某个对象的所有属性
6,数组类型[] 数组名 = 对象名.getClass().getDeclaredFields();
7,使用反射
public static void main(String[] args) {
Model model = new Model();
Field fd = new Field();
fd.getField(model);
}
private void getField(Object model) {
java.lang.reflect.Field[] fields = model.getClass().getDeclaredFields();
for(java.lang.reflect.Field f:fields){
System.out.println(f.getName());
}
}
㈩ java怎么通过反射得到属性的类型
Class<?>cls=Class.forName(className);//通过类的名称反射类
Objectobj=cls.newInstance();//对象实例化
Fieldfield=cls.getField(fieldName);//这个对应的是属性
fieldValue=field.get(obj);//这个就是属性的值