?? classtest.java
字號:
import java.lang.reflect.*;
import java.lang.annotation.*;
/**
* Description:
* <br/>Copyright (C), 2008-2010, Yeeku.H.Lee
* <br/>This program is protected by copyright laws.
* <br/>Program Name:
* <br/>Date:
* @author Yeeku.H.Lee kongyeeku@163.com
* @version 1.0
*/
//使用2個注釋修飾該類
@SuppressWarnings(value="unchecked")
@Deprecated
public class ClassTest
{
//為該類定義一個私有的構造器
private ClassTest()
{
}
//定義一個有參數的構造器
public ClassTest(String name)
{
System.out.println("執行有參數的構造器");
}
//定義一個無參數的info方法
public void info()
{
System.out.println("執行無參數的info方法");
}
//定義一個有參數的info方法
public void info(String str)
{
System.out.println("執行有參數的info方法"
+ ",其實str參數值:" + str);
}
//定義一個測試用的內部類
class Inner
{
}
public static void main(String[] args)
throws Exception
{
//下面代碼可以獲取ClassTest對應的Class
Class<ClassTest> clazz = ClassTest.class;
//獲取該Class對象所對應類的全部構造器
Constructor[] ctors = clazz.getDeclaredConstructors();
System.out.println("ClassTest的全部構造器如下:");
for (Constructor c : ctors)
{
System.out.println(c);
}
//獲取該Class對象所對應類的全部public構造器
Constructor[] publicCtors = clazz.getConstructors();
System.out.println("ClassTest的全部public構造器如下:");
for (Constructor c : publicCtors)
{
System.out.println(c);
}
//獲取該Class對象所對應類的全部public方法
Method[] mtds = clazz.getMethods();
System.out.println("ClassTest的全部public方法如下:");
for (Method md : mtds)
{
System.out.println(md);
}
//獲取該Class對象所對應類的指定方法
System.out.println("ClassTest里帶一個字符串參數的info方法為:"
+ clazz.getMethod("info" , String.class));
//獲取該Class對象所對應類的上的全部注釋
Annotation[] anns = clazz.getAnnotations();
System.out.println("ClassTest的全部Annotattion如下:");
for (Annotation an : anns)
{
System.out.println(an);
}
System.out.println("該Class元素上的@SuppressWarnings注釋為:"
+ clazz.getAnnotation(SuppressWarnings.class));
//獲取該Class對象所對應類的全部內部類
Class<?>[] inners = clazz.getDeclaredClasses();
System.out.println("ClassTest的全部內部類如下:");
for (Class c : inners)
{
System.out.println(c);
}
//使用Class.forName方法加載ClassTest的Inner內部類
Class inClazz = Class.forName("ClassTest$Inner");
//通過getDeclaringClass()訪問該類所在的外部類
System.out.println("inClazz對應類的外部類為:" +
inClazz.getDeclaringClass());
System.out.println("ClassTest的包為:" + clazz.getPackage());
System.out.println("ClassTest的父類為:" + clazz.getSuperclass());
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -