´«ÖDz¥¿Í2009 12 24 ¶þ¡¢java»ù´¡¼ÓÇ¿(2)
Ò»¡¢·´É䣨Reflect£©
·´Éä¾ÍÊǰÑJavaÀàÖеĸ÷ÖֳɷÖÓ³Éä³ÉÒ»¸ö¸öµÄjava¶ÔÏó¡£ÀýÈ磬һ¸öÀàÓУº³ÉÔ±±äÁ¿£¬·½·¨£¬¹¹Ôì·½·¨£¬°üµÈµÈÐÅÏ¢£¬ÀûÓ÷´Éä¼¼Êõ¿ÉÒÔ¶ÔÒ»¸öÀà½øÐнâÆÊ£¬°Ñ¸÷¸ö×é³É²¿·ÖÓ³Éä³ÉÒ»¸ö¸ö¶ÔÏó¡£Ó³Éä³É¶ÔÏóºó£¬¾Í¿ÉÒÔµ÷ÓöÔÏóµÄ·½·¨¶ÔÆä²Ù×÷ÁË¡£Óë·´ÉäÏà¹ØµÄÖØÒªµÄÀàÓÐClass¡¢Constructor¡¢Method¡¢FieldµÈ¡£
Class ÀàµÄʵÀý±íʾÕýÔÚÔËÐÐµÄ Java Ó¦ÓóÌÐòÖеÄÀàºÍ½Ó¿Ú¡£Ã¶¾ÙÊÇÒ»ÖÖÀ࣬עÊÍÊÇÒ»ÖÖ½Ó¿Ú¡£Ã¿¸öÊý×éÊôÓÚ±»Ó³ÉäΪ Class ¶ÔÏóµÄÒ»¸öÀ࣬ËùÓоßÓÐÏàÍ¬ÔªËØÀàÐͺÍάÊýµÄÊý×é¶¼¹²Ïí¸Ã Class ¶ÔÏó¡£»ù±¾µÄ Java ÀàÐÍ£¨boolean¡¢byte¡¢char¡¢short¡¢int¡¢long¡¢float ºÍ double£©ºÍ¹Ø¼ü×Ö void Ò²±íʾΪ Class ¶ÔÏó¡£
Class ûÓй«¹²¹¹Ôì·½·¨¡£Class ¶ÔÏóÊÇÔÚ¼ÓÔØÀàʱÓÉ Java ÐéÄâ»úÒÔ¼°Í¨¹ýµ÷ÓÃÀà¼ÓÔØÆ÷ÖÐµÄ defineClass ·½·¨×Ô¶¯¹¹ÔìµÄ¡£
ض¨Ò壺
public final class Class<T>extends Objectimplements Serializable
, GenericDeclaration, Type, AnnotatedElement
ØÖØÒª·½·¨ÕªÒª
·µ»ØÖµ
·½·¨µÄÇ©Ãû
static Class<?>
forName(String className)
·µ»ØÓë´øÓиø¶¨×Ö·û´®ÃûµÄÀà»ò½Ó¿ÚÏà¹ØÁªµÄ Class ¶ÔÏó¡£
Annotation[]
getAnnotations() ·µ»Ø´ËÔªËØÉÏ´æÔÚµÄËùÓÐ×¢ÊÍ¡£
ClassLoader
getClassLoader() ·µ»Ø¸ÃÀàµÄÀà¼ÓÔØÆ÷¡£
Constructor<T>
getConstructor(Class... parameterTypes)
·µ»ØÒ»¸ö Constructor ¶ÔÏó£¬Ëü·´Ó³´Ë Class ¶ÔÏóËù±íʾµÄÀàµÄÖ¸¶¨¹«¹²¹¹Ôì·½·¨¡£
Constructor<T>
getDeclaredConstructor(Class... parameterTypes)
·µ»ØÒ»¸ö Constructor ¶ÔÏ󣬸öÔÏó·´Ó³´Ë Class ¶ÔÏóËù±íʾµÄÀà»ò½Ó¿ÚµÄÖ¸¶¨¹¹Ôì·½·¨¡£
Field[]
getDeclaredFields()
·µ»Ø Field ¶ÔÏóµÄÒ»¸öÊý×飬ÕâЩ¶ÔÏó·´Ó³´Ë Class ¶ÔÏóËù±íʾµÄÀà»ò½Ó¿ÚËùÉùÃ÷µÄËùÓÐ×ֶΣ¬°üÀ¨¹«¹²¡¢±£»¤¡¢Ä¬ÈÏ£¨°ü£©·ÃÎʺÍ˽ÓÐ×ֶΣ¬µ«²»°üÀ¨¼Ì³ÐµÄ×ֶΡ£
Method
getDeclaredMethod(String name, Class... parameterTypes)
·µ»ØÒ»¸ö Method ¶ÔÏ󣬸öÔÏó·´Ó³´Ë Class ¶ÔÏóËù±íʾµÄÀà»ò½Ó¿ÚµÄÖ¸¶¨ÒÑÉùÃ÷·½·¨¡£
T
newInstance() ´´½¨´Ë Class ¶ÔÏóËù±íʾµÄÀàµÄÒ»¸öÐÂʵÀý¡£
String
getName()
ÒÔ Strin
Ïà¹ØÎĵµ£º
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
public class test {
public static void main(String[] args) {
ArrayList<ArrayList<Integer>> list = getArrays(1, 20, 30);
Iterator<ArrayList<Integer>> iter = list.itera ......
Ê®¶þ javaÃæÏò¶ÔÏó³ÌÐòÉè¼Æ(ÀàµÄ¼Ì³Ð)
/**
* ÀàµÄ¼Ì³Ð
*/
class Person
{
private String name;
private int age;
public String setName(String name){this.name = name;return name;}
public int setAge(int age){this.age = age;return age;}
public void getInfo ......
Ê®Èý javaÃæÏò¶ÔÏó³ÌÐòÉè¼Æ(³õʼ»¯A)
/**
* ³õʼ»¯(Ò»)
* ³ÉÔ±±äÁ¿ºÍ¹¹Ôì»úµÄ³õʼ»¯¹ý³Ì
* 1,³ÉÔ±±äÁ¿µÄ³õʼ»¯:
* 2,¹¹Ôì·½·¨µÄÖ´ÐÐ˳Ðò:
* 3,¾²Ì¬³ÉÔ±µÄÖ´ÐÐ˳Ðò;
* 4,¾²Ì¬´úÂë¿éµÄÖ´ÐÐ˳Ðò;
*/
/* Ò»,³ÉÔ±³õʼ»¯ */
class MemberInitialization
{
/*1,×Ô¶¯³ ......