El método java.lang.reflect .Method.getDeclaringClass() de la clase Method devuelve el objeto Class para la clase o interfaz que define el método en el que estamos aplicando este método getDeclaringClass().
Sintaxis:
public Class<?> getDeclaringClass()
Valor de retorno: este método devuelve el objeto de clase en el que se declara el método.
El siguiente programa ilustra el método getDeclaringClass() de la clase Method:
Programa 1: Para encontrar los detalles de la clase Objeto que definió el método, aplicando el método getDeclaringClass().
En el programa a continuación, se crea una clase de demostración con algunos métodos. Después de crear el objeto de clase, la lista de objetos de método se crea llamando a la función getMethods() del objeto de clase. Luego se recorren en bucle a través de la lista y se imprimen los detalles de la declaración de clase de cada método.
La salida de este programa también muestra los resultados de los objetos de método distintos de los métodos definidos en el objeto de clase, como esperar, es igual a, toString, hashCode, getClass, notificar y notificar a todos. Estos métodos se heredan del objeto de la superclase del paquete java.lang por objeto de clase.
// Program Demonstrate getDeclaringClass() method // of Method Class. import java.lang.reflect.Method; // sample class containing some method class GFGDemoClass { // create attributes private String field1; private String field2; // create methods public String getField1() { return field1; } public void setField1(String field1) { this.field1 = field1; } public String getField2() { return field2; } public void setField2(String field2) { this.field2 = field2; } } // class containing the Main method public class GFG { public static void main(String[] args) { // get array Method objects of GFGDemoClass Method[] methods = GFGDemoClass.class.getMethods(); // print getDeclaringclass for every Method object // looping through a list of method objects for (Method m : methods) { // get a class object which declares the current method // by declaringClass() method Class declaringClass = m.getDeclaringClass(); // print Method name and class name System.out.println("Method Name: " + m.getName()); System.out.println("Declaring class Name: " + declaringClass.getName()); } } }
Method Name: getField1 Declaring class Name: GFGDemoClass Method Name: setField1 Declaring class Name: GFGDemoClass Method Name: getField2 Declaring class Name: GFGDemoClass Method Name: setField2 Declaring class Name: GFGDemoClass Method Name: wait Declaring class Name: java.lang.Object Method Name: wait Declaring class Name: java.lang.Object Method Name: wait Declaring class Name: java.lang.Object Method Name: equals Declaring class Name: java.lang.Object Method Name: toString Declaring class Name: java.lang.Object Method Name: hashCode Declaring class Name: java.lang.Object Method Name: getClass Declaring class Name: java.lang.Object Method Name: notify Declaring class Name: java.lang.Object Method Name: notifyAll Declaring class Name: java.lang.Object
Programa 2: para encontrar los detalles de los métodos de la clase Object, aplicando el método getDeclaringClass().
// Program Demonstrate getDeclaringClass() method // of Method Class. import java.lang.reflect.Method; // sample class containing some method class BasicOperations { // create attributes int a; int b; // create methods public int add() { return a + b; } public int multiply() { return a * b; } public int subtract() { return a - b; } public int division() { return a / b; } } public class GFG { public static void main(String[] args) { // get array Method objects Method[] methods = BasicOperations.class.getMethods(); // print getDeclaringclass for every Method object for (Method m : methods) { // get class object by declaringClass() method Class declaringClass = m.getDeclaringClass(); // checks whether the method belong to // BasicOperations class or not // and if yes then print method name // along with declaring class name. if (declaringClass.getName().equals("BasicOperations")) { // print Method name and class name System.out.println("Method Name: " + m.getName()); System.out.println("Declaring class Name: " + declaringClass.getName()); } } } }
Method Name: multiply Declaring class Name: BasicOperations Method Name: subtract Declaring class Name: BasicOperations Method Name: division Declaring class Name: BasicOperations Method Name: add Declaring class Name: BasicOperations
Referencia: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#getDeclaringClass–
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA