Java Class getDeclaringClass()方法

java.lang.Class.getDeclaringClass() 方法返回表示在它被声明的类的Class对象,如果此Class对象所表示的类或接口是另一个类成员。

如果这个类或接口不属于任何其他类成员此方法返回null。如果此Class对象表示一个数组类,基本类型或void,则此方法返回null。

1 语法

public Class<?> getDeclaringClass()

2 参数

3 返回值

此方法返回这个类的类声明。

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java Class getDeclaringClass()方法
 */
import java.lang.reflect.*;

public class ClassDemo {

   public static void main(String[] args) {

     // class object associated with class Long
     Class cls = Long.class;

     Method[] m = cls.getMethods();
     for(int i = 0; i < m.length; i++) {
        // returns te declaring class
        Class dec = m[i].getDeclaringClass();
        // displays all methods
        System.out.println("Method = " + m[i].toString());
        System.out.println(" Declaring class: " + dec.toString());
     }
   }
}

输出结果为:

Method = public static int java.lang.Long.numberOfLeadingZeros(long)
Declaring class: class java.lang.Long
Method = public static int java.lang.Long.numberOfTrailingZeros(long)
Declaring class: class java.lang.Long
Method = public static int java.lang.Long.bitCount(long)
Declaring class: class java.lang.Long
Method = public boolean java.lang.Long.equals(java.lang.Object)
Declaring class: class java.lang.Long
Method = public static java.lang.String java.lang.Long.toString(long,int)
Declaring class: class java.lang.Long
Method = public static java.lang.String java.lang.Long.toString(long)
Declaring class: class java.lang.Long
Method = public java.lang.String java.lang.Long.toString()
Declaring class: class java.lang.Long
Method = public int java.lang.Long.hashCode()
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.reverseBytes(long)
Declaring class: class java.lang.Long
Method = public int java.lang.Long.compareTo(java.lang.Long)
Declaring class: class java.lang.Long
Method = public int java.lang.Long.compareTo(java.lang.Object)
Declaring class: class java.lang.Long
Method = public static java.lang.Long java.lang.Long.getLong(java.lang.String)
Declaring class: class java.lang.Long
Method = public static java.lang.Long java.lang.Long.getLong(java.lang.String,long)
Declaring class: class java.lang.Long
Method = public static java.lang.Long java.lang.Long.getLong(java.lang.String,java.lang.Long)
Declaring class: class java.lang.Long
Method = public byte java.lang.Long.byteValue()
Declaring class: class java.lang.Long
Method = public short java.lang.Long.shortValue()
Declaring class: class java.lang.Long
Method = public int java.lang.Long.intValue()
Declaring class: class java.lang.Long
Method = public long java.lang.Long.longValue()
Declaring class: class java.lang.Long
Method = public float java.lang.Long.floatValue()
Declaring class: class java.lang.Long
Method = public double java.lang.Long.doubleValue()
Declaring class: class java.lang.Long
Method = public static java.lang.Long java.lang.Long.valueOf(java.lang.String,int) throws java.lang.NumberFormatException
Declaring class: class java.lang.Long
Method = public static java.lang.Long java.lang.Long.valueOf(java.lang.String) throws java.lang.NumberFormatException
Declaring class: class java.lang.Long
Method = public static java.lang.Long java.lang.Long.valueOf(long)
Declaring class: class java.lang.Long
Method = public static java.lang.String java.lang.Long.toHexString(long)
Declaring class: class java.lang.Long
Method = public static java.lang.Long java.lang.Long.decode(java.lang.String) throws java.lang.NumberFormatException
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.reverse(long)
Declaring class: class java.lang.Long
Method = public static java.lang.String java.lang.Long.toOctalString(long)
Declaring class: class java.lang.Long
Method = public static java.lang.String java.lang.Long.toBinaryString(long)
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.highestOneBit(long)
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.lowestOneBit(long)
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.rotateLeft(long,int)
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.rotateRight(long,int)
Declaring class: class java.lang.Long
Method = public static int java.lang.Long.signum(long)
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.parseLong(java.lang.String,int) throws java.lang.NumberFormatException
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.parseLong(java.lang.String) throws java.lang.NumberFormatException
Declaring class: class java.lang.Long
Method = public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException
Declaring class: class java.lang.Object
Method = public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException
Declaring class: class java.lang.Object
Method = public final void java.lang.Object.wait() throws java.lang.InterruptedException
Declaring class: class java.lang.Object
Method = public final native java.lang.Class java.lang.Object.getClass()
Declaring class: class java.lang.Object
Method = public final native void java.lang.Object.notify()
Declaring class: class java.lang.Object
Method = public final native void java.lang.Object.notifyAll()
Declaring class: class java.lang.Object

 

热门文章

优秀文章