Erhalten Sie Modifikatoren eines Objekts mithilfe von Reflection

Dieses Beispiel zeigt, wie man das erhält Modifikatoren Wird in einer Klasse verwendet, die die Reflection-API verwendet. Man kann die Methode getModifiers() im Class-Objekt verwenden, um über jeden Modifikator zu erfahren, der in dieser bestimmten Klasse verwendet wird. Rufen Sie die Methoden isAbstract(int mod), isFinal(int mod), isInterface(int mod), isNative(int mod), isPrivate(int mod), isProtected(int mod), isPublic(int mod) und isStatic(int mod) auf Kennen Sie jeden Modifikator.

Schauen wir uns das folgende Beispiel an, um die in der Klasse java.lang.Math verwendeten Modifikatoren auszudrucken.

package javabeat.net.reflection;

import java.lang.reflect.Modifier;

/**
 * Get Modifiers of a class using Reflection API
 *
 * @author krishna
 *
 */
public class JavaBeatReflectionExample {
	public static void main(String() args) throws Exception {
		Class<?> clazz = java.lang.Math.class;
		// return the modifiers for this class or interface encoded in an integer
		int mod = clazz.getModifiers();
		System.out.println("Interface Modifier: " + Modifier.isInterface(mod));
		System.out.println("Static Modifier: " + Modifier.isStatic(mod));
		System.out.println("Abstract Modifier: " + Modifier.isAbstract(mod));
		System.out.println("Final Modifier: " + Modifier.isFinal(mod));
		System.out.println("Native Modifier: " + Modifier.isNative(mod));
		System.out.println("Private Modifier: " + Modifier.isPrivate(mod));
		System.out.println("Protected Modifier: " + Modifier.isProtected(mod));
		System.out.println("Public Modifier: " + Modifier.isPublic(mod));
	}

}

Ausgabe

Interface Modifier: false
Static Modifier: false
Abstract Modifier: false
Final Modifier: true
Native Modifier: false
Private Modifier: false
Protected Modifier: false
Public Modifier: true

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen