首页 > 其他分享 >Field getType 和 getDeclaringClass 两个方法啥区别

Field getType 和 getDeclaringClass 两个方法啥区别

时间:2024-02-23 11:57:17浏览次数:21  
标签:返回 getDeclaringClass Parent getType Field Child

getType()getDeclaringClass() 是 Java 反射(Reflection)API 中 Field 类的两个方法。这两个方法分别提供了关于字段(Field)的不同信息。以下是它们之间的主要区别:

  1. getType()

    • getType() 方法返回 Field 对象表示的字段的 Class 对象。
    • 它表示字段的类型,即字段可以持有的值的类型。
    • 例如,如果你有一个 Field 对象表示一个 String 类型的字段,那么 getType() 将返回 String.class
  2. getDeclaringClass()

    • getDeclaringClass() 方法返回 Field 对象表示的字段的声明类。
    • 这意味着它返回定义了该字段的类。即使该字段被子类继承,getDeclaringClass() 也会返回最初声明该字段的类。
    • 例如,假设你有一个名为 Parent 的类和一个继承自 Parent 的名为 Child 的类。如果 Parent 有一个字段,并且你在 Child 的实例上获取该字段的 Field 对象,那么 getDeclaringClass() 将返回 Parent.class,即使你是在 Child 的实例上操作的。

简而言之,getType() 告诉你字段的类型,而 getDeclaringClass() 告诉你哪个类声明了这个字段。

标签:返回,getDeclaringClass,Parent,getType,Field,Child
From: https://www.cnblogs.com/qi-yi/p/18029192

相关文章

  • Debug: tf_ditribute_strategy_worker.yaml: unknown field "spec.template.spec.node
    [ERROR:unknownfield"spec.template.spec.nodeAffinity"](base)maye@maye-Inspiron-5547:~/github_repository/tensorflow_ecosystem/distribution_strategy$kubectlapply-fmaye_template.yamlservice/dist-strat-example-worker-0createdservice/dis......
  • JDK21报错 java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTre
    JDK21报错java:java.lang.NoSuchFieldError:Classcom.sun.tools.javac.tree.JCTree$JCImportdoesnothavememberfield'com.sun.tools.javac.tree.JCTreequalid'Lombok版本兼容性的问题导致Maven依赖改为新版本<dependency><groupId>org.projectlombok&l......
  • 学习unigui【19】unidbgrid的Group By This Field汉化
    上面已经将groupbythisfield汉化。由于版本的不断更新,不可避免有汉化遗漏。那么说到如何汉化问题。 根据ExtJSVersion查找你电脑响应目录文件D:\ProgramFiles(x86)\FMSoft\Framework\uniGUI\ext-7.5.1\build\classic\locale\locale-zh_CN.js(主要是该文件)D:\ProgramFi......
  • ElasticSearch中_source、store_fields、doc_values性能比较【转载】
    原文地址请点击在这篇文章中,我想从性能的角度探讨ElasticSearch为我们存储了哪些字段,以及在查询检索时这些字段如何工作。实际上,ElasticSearch和Solr的底层库Lucene提供了两种存储和检索字段的方式:store_fields和doc_values。此外,ElasticSearch默认提供了 _source 字段,这是在......
  • flutter TextFormField
    TextFormField(maxLength:20,controller:controller.shippernameController,decoration:InputDecoration(counterText:'',//计数器的显示border:InputBorder.none,fillColor:Colors.white,filled:true,is......
  • netty: LengthFieldBasedFrameDecoder的用法示例
    一、服务器端启动类:packagecn.edu.tju;importio.netty.bootstrap.ServerBootstrap;importio.netty.buffer.ByteBuf;importio.netty.buffer.Unpooled;importio.netty.channel.*;importio.netty.channel.nio.NioEventLoopGroup;importio.netty.channel.socket.SocketCh......
  • Virtual Heightfield Mesh(虚拟高度场网格)
    UnrealEngine中的VirtualHeightfieldMesh(虚拟高度场网格)是一种技术,用于高效地渲染大规模的地形。这项技术允许你创建广阔、详细的地形,同时保持良好的性能和较低的内存占用。它是利用现代图形硬件的能力来实现的,特别是对于那些要求大范围开放世界环境的游戏和模拟项目来说,这一技......
  • Spring Boot学习随笔- 集成MyBatis-Plus,第一个MP程序(环境搭建、@TableName、@TableId
    学习视频:【编程不良人】Mybatis-Plus整合SpringBoot实战教程,提高的你开发效率,后端人员必备!引言MyBatis-Plus是一个基于MyBatis的增强工具,旨在简化开发,提高效率。它扩展了MyBatis的功能,提供了许多实用的特性,包括强大的CRUD操作、条件构造器、分页插件、代码生成器等。MyBati......
  • .net 6 post 接口传递json数据,接口实体对象反序列化导致一些可空字段报错 field is re
    1现象接口定义 swagger请求 正常来讲,string类型默认为null的2原因C#8.0引入了“可为空引用类型”和“不可为空引用类型”,使我们能够对引用类型变量的属性作出重要声明 3解决方法a)json对象的反序列化对象添加可空修饰符?b)全局配置//关闭不可为空引用类型......
  • Field Should Not Be Empty
    题目传送门一种比较暴力的做法,不需要观察任何性质。思路首先特判一下\(\foralli,p_i=i\)的情况,输出\(n-2\),不难发现剩下的情况必定需要交换两个数。首先考虑设\(a_i\)表示\(i\)左边比\(p_i\)大的数的个数与\(i\)右边比\(p_i\)小的数的个数之和,\(a\)数组可以用......