JAVA·´Éä»úÖÆ¼°CLASS.FORNAMEµÄ×÷Óü°º¬Òå
Reflection ÊÇJava±»ÊÓΪ¶¯Ì¬£¨»ò×¼¶¯Ì¬£©ÓïÑÔµÄÒ»¸ö¹Ø¼üÐÔÖÊ¡£Õâ¸ö»úÖÆÔÊÐí³ÌÐòÔÚÔËÐÐʱ͸¹ýReflection APIsÈ¡µÃÈκÎÒ»¸öÒÑÖªÃû³ÆµÄclass
µÄÄÚ²¿ÐÅÏ¢£¬°üÀ¨Æämodifiers£¨ÖîÈçpublic, static µÈµÈ£©¡¢superclass£¨ÀýÈçObject£©¡¢ÊµÏÖÖ®interfaces£¨ÀýÈçCloneable£©£¬Ò²°üÀ¨fields
ºÍmethodsµÄËùÓÐÐÅÏ¢£¬²¢¿ÉÓÚÔËÐÐʱ¸Ä±äfieldsÄÚÈÝ»ò»½Æðmethods¡£
JavaΪʲôÄܹ»Ö§³ÖReflection£¿´ð°¸ÊÇJavaÔËÐÐʱÈÔȻӵÓÐÀàÐÍÐÅÏ¢£¬Ëü°üº¬ÁËÕâ¸öÀàÒ»ÇУºËüÓÐÄÄЩ×ֶΡ¢ÄÄЩ·½·¨£¬¸÷ÊǺÎÖÖ±£»¤¼¶±ðµÈµÈ£¬»¹ÓÐÕâ¸öÀàÒÀÀµÓÚÄÄЩÀà¡£ÔÚJavaÖУ¬ÀàÐÅÏ¢ÒÔ¶ÔÏóµÄÐÎʽ´æ·Å£¬ÕâЩ¶ÔÏóÊÇÒ»ÖÖÔª¶ÔÏó£¬ËüÃǵÄÀàÐ;ÍÊÇClass¡£ÓµÓÐÁËÕâЩÐÅÏ¢£¬ÎÞÂÛÊǶ¯Ì¬´´½¨¶ÔÏó»¹Êǵ÷ÓÃijЩ·½·¨¶¼ÊÇÇá¶øÒ׾ٵġ£ÔÚC ÖУ¬Í¨¹ýRTTI£¨ÔËÐÐʱÀàÐÍʶ±ð£©£¬ÎÒÃÇÒ²¿ÉÒÔÖªµÀÀàµÄһЩÐÅÏ¢£¬µ«ÎªÊ²Ã´C ÖÐȴûÓÐReflection£¬ÔÒòÊÇÀàÐÍÐÅÏ¢²»ÍêÕû¡£RTTIÕâ¸öÃû×Ö±¾Éí¾Í¸æËßÎÒÃÇ£¬C µÄÀàÐÍÐÅÏ¢ÊÇÓÃÀ´½øÐÐÀàÐÍʶ±ðµÄ£¬Òò´Ë£¬ËüÒ²²»ÐèÒªÆäËü¶îÍâµÄÐÅÏ¢¡£²¢²»ÊÇC ÎÞ·¨×öµ½ÕâÒ»µã£¬¶øÊÇC ²»Ï£Íû¸øÓû§Ôö¼Ó¶îÍâµÄ¸ºµ£¡£ÓÐËùµÃ£¬±ØÈ»ÓÐËùʧ£¬Òò´Ë£¬C ·ÅÆúÁËÔª¶ÔÏó¡£¹ØÓÚÕâÒ»µã£¬C Ö®¸¸Bjarne StroustrupÔÚËûµÄ¡¶C ÓïÑÔµÄÉè¼ÆÓëÑÝ»¯¡·µÄ14.2.8½ÚÖнøÐÐÁËÉîÈëµÄÌÖÂÛ¡£
“Class”class
ÖÚËùÖÜÖªJavaÓиöObject class£¬ÊÇËùÓÐJava classesµÄ¼Ì³Ð¸ùÔ´£¬ÆäÄÚÉùÃ÷ÁËÊý¸öÓ¦¸ÃÔÚËù
ÓÐJava classÖб»¸ÄдµÄmethods£ºhashCode()¡¢equals()¡¢clone()¡¢toString()¡¢
getClass()µÈ¡£ÆäÖÐgetClass()·µ»ØÒ»¸öClass object¡£
Class classÊ®·ÖÌØÊâ¡£ËüºÍÒ»°ãclassesÒ»Ñù¼Ì³Ð×ÔObject£¬ÆäʵÌåÓÃÒÔ±í´ïJava³ÌÐòÔËÐÐʱ
µÄclassesºÍinterfaces£¬Ò²ÓÃÀ´±í´ïenum¡¢array¡¢primitive Java types
£¨boolean, byte, char, short, int, long, float, double£©ÒÔ¼°¹Ø¼ü´Êvoid¡£µ±Ò»
¸öclass±»¼ÓÔØ£¬»òµ±¼ÓÔØÆ÷£¨class loader£©µÄdefineClass()±»JVMµ÷Óã¬JVM ±ã×Ô¶¯²ú
ÉúÒ»¸öClass object¡£Èç¹ûÄúÏë½èÓÉ“ÐÞ¸ÄJava±ê×¼¿âÔ´Âë”À´¹Û²ìClass objectµÄʵ¼ÊÉú³É
ʱ»ú£¨ÀýÈçÔÚClassµÄconstructorÄÚÌí¼ÓÒ»¸öprintln()£©£¬²»Äܹ»£¡ÒòΪClass²¢Ã»ÓÐ
public constructor£¨¼ûͼ1£©¡£±¾ÎÄ×îºóÎһᲦһС¿éƪ·ù˳´øÌ¸Ì¸Java±ê×¼¿âÔ´ÂëµÄ¸Ä¶¯°ì
·¨¡£
ClassÊÇReflection¹ÊÊÂÆðÔ´¡£Õë¶ÔÈκÎÄúÏë̽¿±µÄclass£¬Î¨ÓÐÏÈΪËü²úÉúÒ»¸öClass
object£¬½ÓÏÂÀ´²ÅÄܾÓɺóÕß»½ÆðΪÊýÊ®¶à¸öµÄReflection APIs¡£ÕâЩ
Ïà¹ØÎĵµ£º
//¿´¿´ÈçºÎ±àдһЩ¸´ÔӵĴ洢¹ý³Ì
Ò»£ºÎÞ·µ»ØÖµµÄ´æ´¢¹ý³Ì
ΪÁËÑéÖ¤£¬ÎÒÏÈ´´½¨Ò»ÕŲâÊÔ±í
create table mytest(myid varchar2(30),myname varchar2(50));
´æ´¢¹ý³ÌΪ£º
create or replace PROCEDURE mytest2(id in varchar2,name in varchar2) as
begin
insert into mytest (myid,myname) valu ......
JavaÓëC++×î´óµÄ²»Í¬µÄ£¬JavaÍêÈ«ÊÇÃæÏò¶ÔÏóµÄ£¬ÊÇÓÉÀ๹³ÉµÄ£¬¶øC++ÊÇÓɶÔÏóÓë¹ý³Ì×é³É¡£
1¡¢Â·¾¶£º
Java°üÀ¨Ò»¸ö°üpackage,C++ûÓУ»
2¡¢ÒýÈëÀà
java import.*.*; C++ include ""';
3¡¢Ô¤¶¨Ò壬
C++°üÀ¨Ô¤¶¨Ò壬Java²»°üÀ¨
4¡¢½á¹¹
C++°üÀ¨½á¹¹£¬JavaÖ»°üÀ¨À࣬½á¹¹Ìå¿ÉÒÔת»¯ÎªÀà¡£
5¡¢ÀàÃûÓëÎļþÃû
Jav ......
Devoxx ´ó»á½áÊøÔÚ¼¸Ììǰ½áÊøÁË£¬Ò»Î»Óë»áÕ߶Դ˴δó»áµÄÖØÒªÄÚÈݽøÐÐÁË×ܽᣬËûÌáµ½Java 7µÄÖ÷Òª±ä»¯ÈçÏ£º
¡¡¡¡1.¶ÔcollectionsµÄÖ§³Ö
¡¡¡¡Java´úÂë
List<String> list = new ArrayList<String>();
list.add("item");
String item = list.get(0);
......
ÒªÀí½â javaÖÐStringµÄÔË×÷·½Ê½£¬±ØÐëÃ÷È·Ò»µã£ºStringÊÇÒ»¸ö·Ç¿É±äÀࣨimmutable£©¡£Ê²Ã´ÊǷǿɱäÀàÄØ£¿¼òµ¥ËµÀ´£¬·Ç¿É±äÀàµÄʵÀýÊDz»Äܱ»Ð޸ĵģ¬Ã¿¸öʵÀýÖаüº¬µÄÐÅÏ¢¶¼±ØÐëÔÚ¸ÃʵÀý´´½¨µÄʱºò¾ÍÌṩ³öÀ´£¬²¢ÇÒÔÚ¶ÔÏóµÄÕû¸öÉú´æÖÜÆÚÄڹ̶¨²»±ä¡£javaΪʲôҪ°ÑStringÉè¼ÆÎª·Ç¿É±äÀàÄØ£¿Äã¿ÉÒÔÎÊÎÊ james Gosling £º£©¡£µ ......
JAVA´úÂë±àÒëºóÊÇ.classÎļþ,ͨ¹ý·´±à¹¤¾ßºÜÈÝÒ×±»±ðÈË¿´µ½Ô´´úÂë
±£»¤JAVA´úÂëµÄ·½·¨ºÜ¶à£¬ÏÂÃæ½éÉÜÒ»ÖֱȽϷ½±ãʹÓõķ½·¨¡£
obfuscate4eÊÇÒ»¿î²ÉÓûìÏýÆ÷¸Ä±äCLASSÎļþÄÚÈݵķ½·¨¡£
ÏÂÎĽ«½éÉܾßÌåºÍeclipseµÄÕûºÏ·½·¨
1.ÏÂÔØobfuscate4e,¼ÓÈëÕ¾µãhttp://obfuscate4e.org/updates/,Õâ¸öÈí¼þÊǵ¹úÈË¿ª· ......