getField()与getDeclaredField()的区别

Posted ryanzhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了getField()与getDeclaredField()的区别相关的知识,希望对你有一定的参考价值。

Java的反射机制中,用Class的getField(String name)或getDelaredField(String name)可以得到目标类的指定属性,返回类型是Field。

但这两个是有区别的:

getField(String name)只能获取public的字段,包括父类的;

而getDeclaredField(String name)只能获取自己声明的各种字段,包括public,protected,private。

以上是关于getField()与getDeclaredField()的区别的主要内容,如果未能解决你的问题,请参考以下文章

避免 getfield 操作码

getField方法

ThinkPHP 模型方法 getField() 和 select() 使用技巧

java反射中getDeclaredField和getField的区别

csharp Type的反射GetField

C# 反射 GetField().GetValue()