javaѧϰ֮·´Éä»úÖÆ
ʲôÊÇ·´Éä
java³ÌÐò¿ÉÒÔÔÚÔËÐÐÆÚ¼ä¶¯Ì¬µÄ¼ÓÔØ¡¢½âÎöºÍʹÓÃһЩÔÚ±àÒë½×¶Î²¢²»È·¶¨µÄÀàÐÍ£¬ÕâÒ»»úÖÆ±»³ÆÎª“·´É䣨reflection£©”»òÕß“ÄÚÊ¡£¨introspection£©”.
·´Éä»úÖÆÌṩµÄ¹¦ÄÜ
1£¬¼ÓÔØÔËÐÐʱ²ÅÄÜÈ·¶¨µÄÀàÐÍ
2£¬½âÎöÀàµÄ½á¹¹¡¢»ñÈ¡ÆäÄÚ²¿ÐÅÏ¢
3£¬²Ù×÷¸ÃÀàÐÍ»òÆäʵÀý
1¡··ÃÎÊÊôÐÔ
2¡·µ÷Ó÷½·¨
3¡·´´½¨Ð¶ÔÏó
java.lang.class Àà
classÀàµÄʵÀýÓÃÓÚ±íʾÔËÐÐʱµÄJAVAÊý¾ÝÀàÐÍ£¬°üÀ¨Àà¡¢½Ó¿Ú¡¢Êý×顢ö¾Ù¡¢×¢½âºÍ»ù±¾Êý¾ÝÀàÐÍ
ÔÚÀà¼ÓÔØÊ±£¬ JavaÐéÄâ»ú»á×Ô¶¯´´½¨ÏàÓ¦µÄclass¶ÔÏó
java.lang.reflect°ü
1£¬java.lang.reflect.fleld
2£¬java.lang.reflect.Method
3£¬java.lang.reflect.Costructor
4£¬java.lang.reflect.Modifer
5£¬java.lang.reflect.Array
ʹÓ÷´»úÖÆµÄ»ù±¾²½Öè
»ñȡĿ±êÀàÐÍÏàÓ¦µÄclass¶ÔÏó
µ÷ÓÃClass¶ÔÏóÄÚÊ¡·½·¨»ñȡĿ±êÀà³ÉÔ±ÐÅÏ¢
·ÃÎÊÄ¿±êÀà·½·¨ÐÅÏ¢/²Ù×÷Ä¿±êÀà³ÉÔ±
ÀýÒ»
package com.manager;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.Scanner;
public class TestReflection01 {
public static void main(String[] args) {
System.out.println("input the type of the class");
Scanner scan = new Scanner(System.in);
String className= scan.next();
System.out.println("current class name : " + className);
try {
//»ñÈ¡CLASS¶ÔÏó
Class c = Class.forName(className);
//½âÎöÊôÐÔÐÅÏ¢
Field[] fs = c.getFields();
for(Field f : fs){
System.out.println("----------------
Ïà¹ØÎĵµ£º
ÏÈÀ´Á˽âÒ»ÏÂÁ´±íģʽµÄÔÀí£º
Ê×ÏÈдһ¸öJavaBean£¬ÄÚÈÝÊÇÒªÌí¼ÓµÄÔªËØºÍ¸ÃÔªËØµÄ½Úµã¡£
public class NodeBean implements Serializable
{
private Object data; //ÔªËØ±¾Éí
private NodeBean next; //ÏÂÒ»¸ö½Úµã
&n ......
org.apache.commons.net.ftp.*ÖеÄFTPClientÀàʵÏÖµÄFTPÉÏ´«ÏÂÔØ¹¦ÄÜ£º
Ðèµ¼ÈëApacheµÄcommos-netµÄjar°ü£¬Èôµ¼ÈëµÄÊÇ1.4°æ±¾µÄ°ü£¬ÔòFTPFile[] fileList = ftpClient.listFiles()µÄÖ´Ðйý³ÌÖпÉÄܻᱨ´í£¬´Ëʱ¸ü»»µ¼Èë2.0°æ±¾µÄjar°ü£¬ÎÊÌâ¼´¿É½â¾ö¡£
´úÂëÈçÏ£º
package com.java.ftp;
import java.io.File;
import ......
Ò»£¬Ïß³Ì״̬µÄ¼ì²é
Ò»°ãÇé¿öÏÂÎÞ·¨È·¶¨Ò»¸öÏ̵߳ÄÔËÐÐ״̬£¬¶ÔÓÚÕâЩ´¦ÓÚδ֪״̬µÄỊ̈߳¬¿ÉÒÔͨ¹ýisAlive()·½·¨ÓÃÀ´È·¶¨Ò»¸öÏß³ÌÊÇ·ñÈÔ´¦Ôڻ״̬¡£µ±È»¼´Ê¹´¦Óڻ״̬µÄÏß³ÌÒ²²¢²»Òâζ×ÅÕâ¸öÏß³ÌÒ»¶¨ÕýÔÚÔËÐУ¬¶ÔÓÚÒ»¸öÒÑ¿ªÊ¼ÔËÐе«»¹Ã»ÓÐÍê³ÉÈÎÎñµÄỊ̈߳¬Õâ¸ö·½·¨·µ»ØÖµÎªtrue¡£
......
³ÌÐòÖеıàÂë·ç¸ñÈÃÎÒÃǵıà³Ì¹¤×÷±äµÃÇáËÉ£¬ÌرðÊdzÌÐòά»¤Ô±£¬ËûÃÇÒª¾³£ÔĶÁÆäËûÈ˱àдµÄ³ÌÐò±àÂ룬ÕâÒ»µãÓÈÆäÍ»³ö¡£±àÂë¹æ·¶´Ó¸ù±¾ÉϽâ¾öÁ˳ÌÐòά»¤Ô±µÄÄÑÌ⣻¹æ·¶µÄ±àÂëÔĶÁºÍÀí½âÆðÀ´¸üÈÝÒ×£¬Ò²¿ÉÒÔ¿ìËٵIJ»·ÑÁ¦ÆøµÄ½è¼ø±ðÈ˵ıàÂë¡£¶Ô½«À´Î¬»¤Äã±àÂëµÄÈËÀ´Ëµ£¬ÄãµÄ±àÂëÔ½ÓÅ»¯£¬ËûÃǾÍԽϲ»¶ÄãµÄ±àÂ룬Àí½âÆðÀ´Ò²¾ÍÔ½ ......
ÓÉÓÚͬһ½ø³ÌµÄ¶à¸öÏ̹߳²ÏíͬһƬ´æ´¢¿Õ¼ä£¬ÔÚ´øÀ´·½±ãµÄͬʱ£¬Ò²´øÀ´ÁË·ÃÎʳåÍ»Õâ¸öÑÏÖØµÄÎÊÌâ¡£JavaÓïÑÔÌṩÁËרÃÅ»úÖÆÒÔ½â¾öÕâÖÖ³åÍ»£¬ÓÐЧ±ÜÃâÁËͬһ¸öÊý¾Ý¶ÔÏó±»¶à¸öÏß³Ìͬʱ·ÃÎÊ¡£
ÐèÒªÃ÷È·µÄ¼¸¸öÎÊÌ⣺
1)synchronized¹Ø¼ü×Ö¿ÉÒÔ×÷Ϊº¯ÊýµÄÐÞÊηû£¬Ò²¿É×÷Ϊº¯ÊýÄÚµÄÓï¾ä£ ......