Èô³ÌÐòÔËÐÐʱ½ÓÊÕµ½Íⲿ´«ÈëµÄÒ»¸ö¶ÔÏ󣬸öÔÏóµÄ±àÒëÀàÐÍÊÇObject£¬µ«³ÌÐòÓÖÐèÒªµ÷ÓøöÔÏóÔËÐÐÀàÐ͵ķ½·¨£º
(1).Èô±àÒëºÍÔËÐÐÀàÐͶ¼ÖªµÀ£¬Ê¹Óà instanceofÅжϺó£¬Ç¿×ª¡£
(2).±àÒëʱ¸ù±¾ÎÞ·¨Ô¤Öª¸Ã¶ÔÏóÊôÓÚʲôÀ࣬³ÌÐòÖ»ÄÜÒÀ¿¿ÔËÐÐʱÐÅÏ¢À´·¢ÏÖ¶ÔÏóµÄÕæÊµÐÅÏ¢£¬Õâʱ¾Í±ØÐëʹÓ÷´ÉäÁË¡£
(3).ÒªÊÇÏëµÃµ½¶ÔÏóÕæÕýµÄÀàÐÍ£¬¾ÍµÃʹÓ÷´Éä¡£
2.·´Éä×îÖ÷ÒªµÄ×÷ÓÃÊÇÔÚ¿ò¼ÜÉÏ£¬Ç¿´óµÄ¹¦ÄÜÊÇÒÔÐÔÄÜΪ´ú¼Û£¡
3.classÀàºÍclassÀàµÄʵÀý:
Java³ÌÐòÖеĸ÷¸öJavaÀàÊôÓÚͬһÀàÊÂÎï,ÃèÊöÕâÀàÊÂÎïµÄJavaÀà¾ÍÊÇClassÀà¡£
¶Ô±ÈÌáÎÊ£ºÖÚ¶àµÄÈËÓÃÒ»¸öʲôÀà±íʾ£¿ÖÚ¶àµÄJavaÀàÓÃÒ»¸öʲôÀà±íʾ£¿
ÈË Person
JavaÀà Class
¶Ô±ÈÌáÎÊ£º PersonÀà´ú±íÈË£¬ËüµÄʵÀý¶ÔÏó¾ÍÊÇÕÅÈý£¬ÀîËÄÕâÑùÒ»¸ö¸ö¾ßÌåµÄÈË£¬ClassÀà´ú±íJavaÀ࣬ËüµÄ¸÷¸öʵÀý¶ÔÏóÓÖ·Ö±ð¶ÔÓ¦Ê²Ã´ÄØ£¿
¶ÔÓ¦¸÷¸öÀàÔÚÄÚ´æÖеÄ×Ö½ÚÂ룬ÀýÈ磬PersonÀàµÄ×Ö½ÚÂ룬ArrayListÀàµÄ×Ö½ÚÂ룬µÈµÈ£»
Ò»¸öÀà±»Àà¼ÓÔØÆ÷¼ÓÔØµ½ÄÚ´æÖУ¬Õ¼ÓÃһƬ´æ´¢¿Õ¼ä£¬Õâ¸ö¿Õ¼äÀïÃæµÄÄÚÈݾÍÊÇÀàµÄ×Ö½ÚÂ룬²»Í¬µÄÀàµÄ×Ö½ÚÂëÊDz»Í¬µÄ£¬ËùÒÔËüÃÇÔÚÄÚ´æÖеÄÄÚÈÝÊDz»Í¬µÄ£»
Ò»¸öÀàÔÚ ÐéÄâ»úÖÐÖ»ÓÐÒ»·Ý×Ö½ÚÂ룻
4.µÃµ½Class¶ÔÏóµÄÈýÖÖ·½Ê½£º
(1). ͨ¹ýÀàµÄclassÊôÐÔ£»
Àà.class;
(2). ʹÓÃClass.forName(String className);className±íʾ Ò»¸öÀàµÄÈ«ÏÞ¶¨Ãû
Class clz = Class.forName("java.util.Date");
´Ëʱ clz ¾ÍÔÚÃèÊö java.util.DateÕâ¸öÀà
(3). ͨ¹ý¶ÔÏóµÄÒ»¸ö getClass()·½·¨¿ÉÒԸ㶨
Class getClass() ·µ»Ø´Ë Object µÄÔËÐÐʱÀà¡£
5.¾Å¸öÔ¤¶¨Òå¶ÔÏó:
»ù±¾µÄ Java ÀàÐÍ£¨boolean¡¢byte¡¢char¡¢short¡¢int¡¢long¡¢float ºÍ double£©
ºÍ¹Ø¼ü×Ö void Ò²±íʾΪ Class ¶ÔÏó¡£
ËûÃǶ¼¶ÔÓ¦Õâ classÊôÐÔ£»
(1).ËûÃǵİüתÀà¶¼ÓÐTYPE³£Á¿£» µÃµ½µÄÊÇËûÃÇ»ù±¾ÀàÐ͵Ä×Ö½ÚÂ룻
Êý¾ÝÀàÐÍ(ÒýÓᢻù±¾)¶¼ÓÐclassÊôÐÔ;
(2).¾ßÓÐÏàÍ¬ÔªËØÀàÐͺÍάÊýµÄÊý×é¶¼¹²Ïíͬһ¸ö Class ¶ÔÏó
ºÍÊý×éµÄÔªËØ¸öÊýºÍÔªËØµÄÖµ£¬ÔªËصÄ˳ÐòÎÞ¹Ø
6.ʹÓ÷´ÉäÀ´´´½¨¶ÔÏó
(1).
public T newInstance():Ö»ÄÜ´´½¨·Çprivate£¬Î޲εĹ¹Ôì·½·¨µÄ¶ÔÏó£»ºÃ±È new Àà()£»
T classInstance.newIntance();
ÈçͬÓÃÒ»¸ö´øÓÐÒ»¸ö¿Õ²ÎÊýÁбíµÄ new ±í´ïʽʵÀý»¯¸ÃÀà¡£Èç¹û¸ÃÀàÉÐδ³õʼ»¯£¬Ôò³õʼ»¯Õâ¸öÀà¡£
(2).
1>.Ïȵõ½Ò»¸öÖ¸¶¨µÄ¹¹Ôì·½·¨£¬
2>.µ÷Óù¹ÔìÆ÷ÀïµÄÒ»¸ö·½·¨£¬
T newInstance(Object... initargs) ¡¢
initargs±íʾ¹¹ÔìÆ÷µÄÐèÒªµÄʵ¼Ê²ÎÊý
Àý×Ó1:
package cn.com.java.wwh.www;
import java.io.Serializable;
import java.lang.reflect.Constructor;
import java.util.Date;
import java.util.Map;
/**
*@ÀàµÄ×÷ÓÃ:Á·Ï°·´ÉäµÄ»ù±¾ÖªÊ¶µã
*
*
*@author Ò»Ò¶±âÖÛ
*@version 1.0
*@´´½¨Ê±¼ä£º 2014-2-10 ÏÂÎç9:14:13
*
*/
@Deprecated
class A extends Object implements Serializable{
private A(String ch)
System.out.println(ch);
}
public A() {
}
class B{
}
class C{
}
}
enum Gender{
MAN,WOMAN(),NONE{}
}
public class Test {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Class dateTest = new Date().getClass();
Class d1 = Date.class;
System.out.println(d1 == dateTest);
System.out.println(dateTest);
System.out.println("·½·¨Ò»:");
System.out.println("---->"+A.class.toString());
// ȨÏÞ¶¨Ãû£º°üÃû+ÀàÃû
String className = "cn.com.java.wwh.www.A";
Class cla1 = Class.forName(className);
System.out.println(cla1);
// ͨ¹ý¶ÔÏóµÄµ÷Ó㬴Ӷø»ñµÃclass
Object testA = new A();
System.out.println("²ÉÓöÔÏó»ñµÃ¶ÔÏó"+testA.getClass());
// public Annotation[] getAnnotations()
// System.out.println(((Class ) testA).getAnnotations());
// Õë¶Ôö¾ÙÀàÐ͵Ĵ¦Àí£º
System.out.println("Gender.MAN.getClass()----->"+Gender.MAN.getClass());
System.out.println("Gender.WOMAN.getClass()----->"+Gender.WOMAN.getClass());
System.out.println("Gender.NONE.getClass()----->"+Gender.NONE.getClass());
System.out.println("Gender.MAN.getClass()----->"+Gender.MAN.getDeclaringClass());
System.out.println(Map.class);
// ¾Å¸öÔ¤¶¨ÒåClass¶ÔÏó-----------------------------------
int[] arry1 = {1,2};
Class arr1 = arry1.getClass();
int[] arry2 = {1,3,5,4};
Class arr2 = arry2.getClass();
System.out.println(arry1 == arry2);
System.out.print("arr1 == arr2------->");
System.out.println(arr1 == arr2);//true
int [][] arry3 = {};
Class arr3 = arry3.getClass();
System.out.print("arr1 == arr3------->");
System.out.println(arr1 == arr3);//false
// µÃµ½Êý×éµÄClass¶ÔÏóµÄÁíÍâÒ»ÖÖ·½Ê½£º
System.out.println(int[][].class.toString());//cla