「java的fields」java的field是什么

博主:adminadmin 2022-11-27 08:20:11 54

本篇文章给大家谈谈java的fields,以及java的field是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中的field是什么意思

field的意思是“字段”,这里可以理解成变量.

field的解释:

class A{

private int a; //private field私有域

protected double b; //protected field保护域

public String c; //public field公共域

A d; //default access field默认访问域

public static Object e; //public static field公共静态域

.

}

Java反射 getFields和getDeclaredFields的区别

关于获取类的字段有两种方式:getFields()和getDeclaredFields()。我们先来看看这两者的区别吧:

getFields():获得某个类的所有的公共(public)的字段,包括父类中的字段。

getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。

具体编码如下:

我们先创建一个POJO

public class User {  

    private long id;  

    private String name;  

  

    public void setId(long id) {  

        this.id = id;  

    }  

  

    public void setName(String name) {  

        this.name = name;  

    }  

  

    public long getId() {  

        return id;  

    }  

  

    public String getName() {  

        return name;  

    }  

}

再来获取此类中的所有字段

Field[] fields = User.class.getDeclaredFields();

获取字段的名称

String fieldName = field.getName();

获取字段的修饰符

int fieldValue = field.getModifiers();//如:private、static、final等

与某个具体的修饰符进行比较

Modifier.isStatic(fieldValue)//看此修饰符是否为静态(static)

获取字段的声明类型

field.getType();//返回的是一个class

与某个类型进行比较

field.getType() == Timestamp.class

获取指定对象中此字段的值

Object fieldObject= field.get(user);//user可以看做是从数据库中查找出来的对象

Java中 fields 和method如何区分?

zaza()是方法,lala是属性,区别有没有(),仅此而已,,static是静态方法的编制,用法就是类不用实例化直接调用这个这个类里面的方法,譬如,Bar.zaza(),就是因为zaza是静态方法,直接调用,而如果zaza不是静态方法,你说的这些先实例化,就是Bar x=new Bar();x.zaza();

Java中的类的field到底是指什么?

field就是类的属性,在类级别的定义用static,普通成员变量

方法参数是局部变量,实际上就是这么区分的。

JAVA反射Field

//直接上例子代码import java.lang.reflect.Field;public class Test {

public final int a=5;

public static void main(String[] args) {

Test test = new Test();

try {

Field field = Test.class.getField("a");//指定要获取的字段名

//从Test对象中获取一个整形值;相应的也有getFloat()/getBoolean()等等方法。。详见JDK文档

System.out.println(field.getInt(test));

//如果不能确定是什么数据类型可以返回一个Object

Object obj = field.get(test);

System.out.println(obj);

System.out.println(obj.getClass().getName());//获取对象的数据类型

} catch (Exception e) {

e.printStackTrace();

}

}

}

java中getField()函数怎么用

import java.lang.reflect.Constructor;

import java.lang.reflect.Field;

/*

 * 通过发生获取成员变量并使用

 */

public class ReflectDemo {

public static void main(String[] args) throws Exception {

// 获取字节码文件对象

Class c = Class.forName("cn.itcast_01.Person");

// 获取所有的成员变量

// Field[] fields = c.getFields();

// Field[] fields = c.getDeclaredFields();

// for (Field field : fields) {

// System.out.println(field);

// }

/*

 * Person p = new Person(); p.address = "北京"; System.out.println(p);

 */

// 通过无参构造方法创建对象

Constructor con = c.getConstructor();

Object obj = con.newInstance();

System.out.println(obj);

// 获取单个的成员变量

// 获取address并对其赋值

Field addressField = c.getField("address");

// public void set(Object obj,Object value)

// 将指定对象变量上此 Field 对象表示的字段设置为指定的新值。

addressField.set(obj, "北京"); // 给obj对象的addressField字段设置值为"北京"

System.out.println(obj);

// 获取name并对其赋值

// NoSuchFieldException

Field nameField = c.getDeclaredField("name");

// IllegalAccessException

nameField.setAccessible(true);

nameField.set(obj, "林青霞");

System.out.println(obj);

// 获取age并对其赋值

Field ageField = c.getDeclaredField("age");

ageField.setAccessible(true);

ageField.set(obj, 27);

System.out.println(obj);

}

}

关于java的fields和java的field是什么的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-27,除非注明,否则均为首码项目网原创文章,转载请注明出处。