java.lang.reflect.Field详解

首先说一下个人观点,Field类,我认为它所代表的事一个实体类的所有属性,因为它的很多方法都是作用在类与属性之间的,下面让我们分析一下Field类的一些方法。

 boolean equals(Object obj) 将此 Field 与指定对象比较。

详解:

让我们看一下它的方法:

我们会发现equals方法的参数一定要是Field的类型的。也就是说我们所进行比较的也是Field的类型的进行比较,如果我们输入null或非Field的类型会返回false。(问题:为何不直接用Field,直接用Field不是更明确么?)。

接下来是进行比较,比较的内容为getDeclaringClass(),我测试之后输出的值为这个Field所代表的实体类。这里也就是比较两个Field所代表的实体类是不是同一个,getName()e为Field对象所代表的属性名称是否一致,getType()为Field对象所代表的属性类型是否一致。

时间: 2024-10-16 01:45:53

java.lang.reflect.Field详解的相关文章

java.lang.reflect.Field

java.lang.reflect.Field 一.Field类是什么 Field是一个类,位于java.lang.reflect包下. 在Java反射中 Field类描述的是 类的属性信息,通俗来讲 有一个类如下: 1 package com.testReflect; 2 public class FieldDemo { 3 public int num1 = 1; 4 protected int num2 = 2; 5 int num3 = 3; 6 private int num4 = 4

JAVA反射系列之Field,java.lang.reflect.Field使用获取方法

JAVA反射系列之Field,java.lang.reflect.Field使用获取方法.   转载https://my.oschina.net/u/1407116/blog/209383 摘要 java.lang.reflect.Field使用 Field. 首先必须明一点 Field类主要是用来辅助获取和操作类的属性的! 1.怎么通过反射获取类的属性 先来看JDK提供的方法有如下几种: a)Class.getDeclaredField(String name);      返回一个 Fiel

Java中的java.lang.Class API 详解

且将新火试新茶,诗酒趁年华. 概述 Class是一个位于java.lang包下面的一个类,在Java中每个类实例都有对应的Class对象.类对象是由Java虚拟机(JVM)自动构造的. Class类的方法经常在反射时被调用. 创建Class对象 有三种方法可以创建Class对象 Class.forName("className"):因为Class类没有公共的构造方法,所以存在一个静态的方法返回Class对象,即Class.forName()用于创建Class对象.要创建的Class对象

.进程&线程(&java.lang.Thread)详解

一.进程与线程 进程 我们在进行操作电脑的时候,通常会打开浏览器,通讯工具等应用程序,这个时候CPU通过作业调度在内存中就会分配一些空间让它们处于宏观上的运行状态(处于可以被CPU执行的状态),而这部分空间资源就可以说是相应的进程占据的,很显然运行不同的程序需要不同的进程,在内存中也为它们分配独立,无共享的区域.静态描述进程的是PCB快(数据结构集),它是系统感知进程存在的唯一实体,通常包含进程名(或者标识符),用户名(或者用户标识号),家族关系. 进程的状态 就绪态:进程获得了除cpu以外的其

java.lang.reflect操作对象属性(域)的值

import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /*2015-10-28*/ public class RefactorDemo { /** * @param args * @throws NoSuchFieldException * @throws SecurityException * @throws Ill

Java反射机制深入详解

一.概念 反射就是把Java的各种成分映射成相应的Java类. Class类的构造方法是private,由JVM创建. 反射是java语言的一个特性,它允程序在运行时(注意不是编译的时候)来进行自我检查并且对内部的成员进行操作.例如它允许一个java的类获取他所有的成员变量和方法并且显示出来.Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性.例如,Pascal.C 或者 C++ 中就没有办法在程序中获得函数定义相关的信息. (来自Sun) Java

moon 反射机制---java.lang.reflect包

java反射机制:在运行状态中,对于一个已经加载到JVM的java对象/类 在程序中实现访问.检查.修改.描述java对象本身的信息(构造方法.方法.成员变量.类本身的信息) 这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. C++,Java,C#不是动态语言.但是JAVA有着一个非常突出的动态相关机制:Reflection, 反射是java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以再运行时装配,无需在组件之间进行源代码链接. 二,反射机制的作用:

Java反射API研究(2)——java.lang.reflect详细内容与关系

对于最新的java1.8而言,reflect中接口的结构是这样的: java.lang.reflect.AnnotatedElement java.lang.reflect.AnnotatedType java.lang.reflect.AnnotatedArrayType java.lang.reflect.AnnotatedParameterizedType java.lang.reflect.AnnotatedTypeVariable java.lang.reflect.Annotated

Java中Unsafe类详解

http://www.cnblogs.com/mickole/articles/3757278.html Java不能直接访问操作系统底层,而是通过本地方法来访问.Unsafe类提供了硬件级别的原子操作,主要提供了以下功能: 1.通过Unsafe类可以分配内存,可以释放内存: 类中提供的3个本地方法allocateMemory.reallocateMemory.freeMemory分别用于分配内存,扩充内存和释放内存,与C语言中的3个方法对应. public native long alloca