java里面的field是什么意思(请问java中的field是什么意思)
老铁们,大家好,相信还有很多朋友对于java里面的field是什么意思和请问java中的field是什么意思的相关问题不太懂,没关系,今天就由我来为大家分享分享java里面的field是什么意思以及请问java中的field是什么意思的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
java中的field什么意思
主要方法
getType():获取属性声明时类型对象(返回class对象)
getGenericType():返回属性声的Type类型
getName():获取属性声明时名字
getAnnotations():获得这个属性上所有的注释
getModifiers():获取属性的修饰
isEnumConstant():判断这个属性是否是枚举类
isSynthetic():判断这个属性是否是复合类
get(Object obj):取得obj对象这个Field上的值
set(Object obj, Object value):向obj对象的这个Field设置新值value
Field类中最常用的是get(Object obj)和set(Object obj, Object value)这两个方法,所以这两个方法是最重要的。
getType()和getGenericType()的区别:
1.首先是返回的类型不一样,一个是Class对象一个是Type接口
2.如果属性是一个泛型,从getType()只能得到这个属性的接口类型。但从getGenericType()还能得到这个泛型的参数类型。
isEnumConstant()和isSynthetic():
对象中如果有属性是枚举类或复合类,用这两个方法返回的值并不是我们想象的true而是false。其实这两个方法是对编译生成的才有效。
java中Label、TextField是做什么的
AWT组件,Label用来装载一个字符串。TextField是一个文本框。
例如你创建一个Frame类的对象,向其内添加一个TextFiled对象,那么窗口中就有了一个文件框了。Label是用来说明文件框等组件的!例如在文本框前面显示用户名三个字,你就需要使用Label来装载这个字符串。
import java.awt.*;
public class Test{
public static void main(String[] args){
Frame f= new Frame();
f.setLayout(new FlowLayout());
Label l= new Label("用户名");
TextField tf= new TextField(10);//10列
f.add(l);
f.add(tf);
f.setSize(300, 200);//窗口大小
f.show();//显示窗口
}
}
请问java中的field是什么意思
Java中Field提供有关类或接口的单个字段的信息,以及对它的动态访问权限。反射的字段可能是一个类字段或实例字段。Field是成员变量的意思。Field也是一个类,该类位于java.lang.reflect包下。
Field使用示例:
class Test{
private int a;//private field私有域
protected double b;//protected field保护域
public String c;//public field公共域
Testd;//default access field默认访问域
public static Object e;//public static field公共静态域
......
}
扩展资料
1.获取变量的类型。
Field.getType():返回这个变量的类型。
Field.getGenericType():如果当前属性有签名属性类型就返回,否则就返回 Field.getType()。
isEnumConstant():判断这个属性是否是枚举类。
2.获取成员变量的修饰符。
Field.getModifiers()以整数形式返回由此 Field对象表示的字段的 Java语言修饰符。
3.获取和修改成员变量的值。
getName():获取属性的名字。
get(Object obj)返回指定对象obj上此 Field表示的字段的值。
set(Object obj, Object value)将指定对象变量上此 Field对象表示的字段设置为指定的新值。
参考资料来源:Oracle-Java
java中getField()函数怎么用
importjava.lang.reflect.Constructor;
importjava.lang.reflect.Field;
/*
*通过发生获取成员变量并使用
*/
publicclassReflectDemo{
publicstaticvoidmain(String[]args)throwsException{
//获取字节码文件对象
Classc=Class.forName("cn.itcast_01.Person");
//获取所有的成员变量
//Field[]fields=c.getFields();
//Field[]fields=c.getDeclaredFields();
//for(Fieldfield:fields){
//System.out.println(field);
//}
/*
*Personp=newPerson();p.address="北京";System.out.println(p);
*/
//通过无参构造方法创建对象
Constructorcon=c.getConstructor();
Objectobj=con.newInstance();
System.out.println(obj);
//获取单个的成员变量
//获取address并对其赋值
FieldaddressField=c.getField("address");
//publicvoidset(Objectobj,Objectvalue)
//将指定对象变量上此Field对象表示的字段设置为指定的新值。
addressField.set(obj,"北京");//给obj对象的addressField字段设置值为"北京"
System.out.println(obj);
//获取name并对其赋值
//NoSuchFieldException
FieldnameField=c.getDeclaredField("name");
//IllegalAccessException
nameField.setAccessible(true);
nameField.set(obj,"林青霞");
System.out.println(obj);
//获取age并对其赋值
FieldageField=c.getDeclaredField("age");
ageField.setAccessible(true);
ageField.set(obj,27);
System.out.println(obj);
}
}
关于java里面的field是什么意思,请问java中的field是什么意思的介绍到此结束,希望对大家有所帮助。