/**
* »ù±¾µÄ Java ÀàÐÍ£¨boolean¡¢byte¡¢char¡¢short¡¢int¡¢long¡¢float ºÍ double£©
* ºÍ¹Ø¼ü×Ö void Ò²±íʾΪ Class ¶ÔÏó¡£
ËûÃǶ¼¶ÔÓ¦Õâ classÊôÐÔ£»
ËûÃǵİüתÀà¶¼ÓÐTYPE³£Á¿£» µÃµ½µÄÊÇËûÃÇ»ù±¾ÀàÐ͵Ä×Ö½ÚÂ룻
Êý¾ÝÀàÐÍ(ÒýÓᢻù±¾)¶¼ÓÐclassÊôÐÔ;
*/
// IntegerºÍint±íʾ²»Í¬µÄÊý¾ÝÀàÐÍ
System.out.println(int.class);//int
System.out.println(Integer.TYPE);//int
System.out.println(int.class == Integer.class);//flase
System.out.println(Integer.TYPE == int.class );//true
System.out.println(Integer.TYPE == Integer.TYPE);//true
System.out.println(Integer.TYPE == Integer.class);//false
// ClassÖеķ½·¨=----------------------->
Class tA = A.class;
System.out.println(tA);
/**
* Annotation[] getAnnotations() ·µ»Ø´ËÔªËØÉÏ´æÔÚµÄËùÓÐ×¢ÊÍ¡£
*/
System.out.println(tA.getAnnotations().length);
/**
* Class [] getClasses()
µÃµ½ClassËùÃèÊöÀàµÄËùÓеÄpublicÐÞÊεÄÄÚ²¿Àà
Class getDeclaredClasses()
µÃµ½ClassËùÃèÊöÀàµÄËùÓеÄÄÚ²¿Àà,ºÍ·ÃÎÊȨÏÞÎÞ¹Ø
*/
Class [] innerClass1 = tA.getClasses();
System.out.println("innerClassµÄ ³¤¶ÈÊÇ:"+innerClass1.length);
for(Class inner :innerClass1)
{
System.out.println(inner.toString());
}
Class [] innerClass2 = tA.getDeclaredClasses();
System.out.println("Êä³öÓë·ÃÎÊȨÏÞÎ޹صÄÄÚ²¿Àà:");
System.out.println(innerClass2.length);
for(Class inner: innerClass2)
{
System.out.println(inner.toString());
}
/**
* Class [] getInterfaces() È·¶¨´Ë¶ÔÏóËù±íʾµÄÀà»ò½Ó¿ÚʵÏֵĽӿڡ£
*/
Class [] getInterfa = tA.getInterfaces();
System.out.println("tAËùʵÏÖµÄËùÓеĽӿÚ:");
for(Class inter: getInterfa)
{
System.out.println(inter.toString());
}
/** public Constructor
throws NoSuchMethodException,
SecurityException
**/
Constructor [] construc = tA.getConstructors();
for(Constructor con : construc)
{
System.out.println(con.toString());
}
}
}
Àý×Ó2£º
package cn.com.java.wwh.www;
import java.lang.reflect.Constructor;
import java.util.Date;
/**
*@ÀàµÄ×÷ÓãºÓ÷´Éä´´½¨¶ÔÏó
*
*@author Ò»Ò¶±âÖÛ
*@version 1.0
*@´´½¨Ê±¼ä£º 2014-2-11 ÏÂÎç8:24:53
*
*/
class Teacher{
private Teacher(String name){
System.out.println(name);
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "ÀÏʦÄãºÃ!";
}
}
public class NewInstanceDemo {
public static void main(String[] args) throws Exception {
// Teacher teacher = new Teacher();
// System.out.println(teacher);
Class
// Teacher teacher2 = teacher1.newInstance();
// System.out.println(teacher2);
System.out.println("-------------------------------->");
// ·´ÉäµÄµÚ¶þÖÖ·½·¨£º
Class
Constructor
// ·ÃÎÊ˽ÓеÄǰ£¬ÏÈÉèÖÿÉÒÔ·ÃÎʵÄ
teacher4.setAccessible(true);
// ¹¹Ôì¶ÔÏó
Teacher teacher5 = teacher4.newInstance("Ò»Ò¶±âÖÛ");
System.out.println(teacher5);
createInstance();
}
// ´´½¨java.util.Date¶ÔÏó
public static void createInstance() throws Exception
{
// new Date();
String className = "java.util.Date";
Class
dateClass = Class.forName(className);
Date date = (Date)dateClass.newInstance();
System.out.println(date);
// ¹¹ÔìÆ÷£¬ÎÞ²ÎÊý
Constructor
System.out.println(date1.newInstance());
// ´øÓвÎÊý
Constructor
(Constructor
System.out.println(date2.newInstance(10));
}
}