簡體   English   中英

如果一個類是最終的,我如何告訴使用反射

[英]How can I tell using reflection if a class is final

假設我有一個班級:

public final class Foo

以及引用該類的反射Class clz引用。

我如何判斷(使用clzFoofinal

使用Class#getModifiers

Modifier.isFinal(clz.getModifiers())

類(或字段或方法)的修飾符在反射API中表示為打包位int 每個可能的修飾符都有自己的位掩碼, Modifier類有助於掩蓋這些位。

您可以檢查以下修改器:

  • abstract
  • final
  • interface
  • native
  • private
  • protected
  • public
  • static
  • strictfp
  • synchronized
  • transient
  • volatile
Modifier.isFinal(clz.getModifiers())

您使用Class.getModifiers() ,理想情況下使用Modifier類以可讀的方式解釋返回值:

if (Modifier.isFinal(clz.getModifiers())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM