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("----------------
Ïà¹ØÎĵµ£º
javaÖеÄÕýÔòλÓÚjava.util.regex°üÖУ¬Õâ¸ö°üÖÐÖ»ÓÐÒ»¸öMatchResult½Ó¿ÚºÍMatcher¡¢PatternÁ½¸öÀà¡£
ÕýÔòÖеÄÊýÁ¿´ÊÓÐGreedy (̰À·)¡¢Reluctant(ÀÁ¶è)ºÍPossessive(ǿռ)ÈýÖÖ
Greedy ÊýÁ¿´Ê
X?
X£¬Ò»´Î»òÒ»´ÎҲûÓÐ
X*
X£¬Áã´Î»ò¶à´Î
X+
X£¬Ò»´Î»ò¶à´Î
X{n ......
³ÌÐòÖеıàÂë·ç¸ñÈÃÎÒÃǵıà³Ì¹¤×÷±äµÃÇáËÉ£¬ÌرðÊdzÌÐòά»¤Ô±£¬ËûÃÇÒª¾³£ÔĶÁÆäËûÈ˱àдµÄ³ÌÐò±àÂ룬ÕâÒ»µãÓÈÆäÍ»³ö¡£±àÂë¹æ·¶´Ó¸ù±¾ÉϽâ¾öÁ˳ÌÐòά»¤Ô±µÄÄÑÌ⣻¹æ·¶µÄ±àÂëÔĶÁºÍÀí½âÆðÀ´¸üÈÝÒ×£¬Ò²¿ÉÒÔ¿ìËٵIJ»·ÑÁ¦ÆøµÄ½è¼ø±ðÈ˵ıàÂë¡£¶Ô½«À´Î¬»¤Äã±àÂëµÄÈËÀ´Ëµ£¬ÄãµÄ±àÂëÔ½ÓÅ»¯£¬ËûÃǾÍԽϲ»¶ÄãµÄ±àÂ룬Àí½âÆðÀ´Ò²¾ÍÔ½ ......
Ò»°ã£¬ÓÐ3ÖÖʹÓÃËø½øÐÐͬ²½µÄ·½·¨
a.·½·¨Í¬²½£¬ÀýÈçpublic synchronized void xxx()...
b.¾²Ì¬·½·¨Í¬²½,ÀýÈçpublic static synchronized void xxx()...
c.³ÌÐò¿éͬ²½,ÀýÈç
...
&n ......
ÓÉÓÚͬһ½ø³ÌµÄ¶à¸öÏ̹߳²ÏíͬһƬ´æ´¢¿Õ¼ä£¬ÔÚ´øÀ´·½±ãµÄͬʱ£¬Ò²´øÀ´ÁË·ÃÎʳåÍ»Õâ¸öÑÏÖØµÄÎÊÌâ¡£JavaÓïÑÔÌṩÁËרÃÅ»úÖÆÒÔ½â¾öÕâÖÖ³åÍ»£¬ÓÐЧ±ÜÃâÁËͬһ¸öÊý¾Ý¶ÔÏó±»¶à¸öÏß³Ìͬʱ·ÃÎÊ¡£
ÐèÒªÃ÷È·µÄ¼¸¸öÎÊÌ⣺
1)synchronized¹Ø¼ü×Ö¿ÉÒÔ×÷Ϊº¯ÊýµÄÐÞÊηû£¬Ò²¿É×÷Ϊº¯ÊýÄÚµÄÓï¾ä£ ......