当前位置: 主页 > JAVA语言

java 查看类的属性-如何查看java安装路径

发布时间:2023-06-03 09:10   浏览次数:次   作者:佚名

反射机制是java的一个很大特点。通过反射机制,我们可以很方便的得到一个类的所有属性、所有方法、甚至是泛型类型。那么是不是也可以通过反射很方便地获取到各个属性的类型呢?比如说如下的实体(省略get,set方法)

@SuppressWarnings("unused")
public class EntityT {
	private static int private_static_int = 1;
	private final int private_final_int = 2;
	private static final int private_static_final_int = 1;
	private int private_common_int;
	protected static int protected_static_int = 1;
	protected final int protected_final_int = 2;
	protected static final int protected_static_final_int = 1;
	protected int protected_common_int;
	public static int public_static_int = 1;
	public final int public_final_int = 2;
	public static final int public_static_final_int = 1;
	public int public_common_int;
	public EntityT() {
	}
}

如何查看java安装路径_java包装类那8个类_java 查看类的属性

如果我想获得所有普通属性呢(即只有private、protected、public修饰的属性)?

一直纠结了半天java 查看类的属性,后来无意间看到了Field类的getModifers()方法和Modifier类,实际上这就足够了(很庆幸)

java包装类那8个类_java 查看类的属性_如何查看java安装路径

首先说说getModifiers(),引用java官方的说明就是:返回一个用数字表示的java修饰符,需要使用Modifier类来解码这个数字

什么意思呢,查看Modifier类的源码(帮助文档中也有)得知:

如何查看java安装路径_java 查看类的属性_java包装类那8个类

1  public
2  private
4  protected
16 final
8  static

也就是说【public int public_common_int;】这样一个属性java 查看类的属性,调用getModifers()之后返回的就是1,

java包装类那8个类_如何查看java安装路径_java 查看类的属性

【private static final int private_static_final_int = 1;】这个属性返回的就是26

通过调用Modifier.toString(field.getModiers())这样一个方法,就可以把数字转换成字符串表示 ,

java包装类那8个类_java 查看类的属性_如何查看java安装路径

【protected static int protected_static_int = 1;】就会输出 protected static

以上就是这次所有的内容,关于类Field和类Modifier的详细说明请参考java源码或java帮助文档。