मान लीजिए मैं एक वर्ग है:मैं कैसे प्रतिबिंब का उपयोग करता है, तो एक वर्ग अंतिम है बता सकते हैं
public final class Foo
और एक परिलक्षित Class clz
संदर्भ कि उस वर्ग को दर्शाता है।
मैं कैसे कह सकता हूं (clz
का उपयोग करके) Foo
final
है?
मान लीजिए मैं एक वर्ग है:मैं कैसे प्रतिबिंब का उपयोग करता है, तो एक वर्ग अंतिम है बता सकते हैं
public final class Foo
और एक परिलक्षित Class clz
संदर्भ कि उस वर्ग को दर्शाता है।
मैं कैसे कह सकता हूं (clz
का उपयोग करके) Foo
final
है?
Class#getModifiers
का उपयोग करना:
Modifier.isFinal(clz.getModifiers())
एक वर्ग (या क्षेत्र, या विधि) के संशोधक प्रतिबिंब एपीआई में एक पैक-बिट int
के रूप में प्रतिनिधित्व कर रहे हैं। प्रत्येक संभावित संशोधक का अपना छोटा मुखौटा होता है, और Modifier
वर्ग उन बिट्स को मास्क करने में मदद करता है।
आप निम्न modfiers के लिए जाँच कर सकते हैं:
abstract
final
interface
native
private
protected
public
static
strictfp
synchronized
transient
volatile
आप आदर्श Modifier
वर्ग का उपयोग कर एक पठनीय रास्ते में वापसी मान व्याख्या करने के लिए Class.getModifiers()
उपयोग करते हैं,:
if (Modifier.isFinal(clz.getModifiers())
Modifier.isFinal(clz.getModifiers())