java·´ÉäµÄÀý×Ó
package cn.test;
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
/**
* Java Reflection Cookbook
*
* @author Michael Lee
* @since 2006-8-23
* @version 0.1a
*/
public class TestReflection {
/**
* µÃµ½Ä³¸ö¶ÔÏóµÄ¹«¹²ÊôÐÔ
*
* @param owner, fieldName
* @return ¸ÃÊôÐÔ¶ÔÏó
* @throws Exception
*
*/
public Object getProperty(Object owner, String fieldName) throws Exception {
Class ownerClass = owner.getClass();
Field field = ownerClass.getField(fieldName);
Object property = field.get(owner);
return property;
}
/**
* µÃµ½Ä³ÀàµÄ¾²Ì¬¹«¹²ÊôÐÔ
*
* @param className ˈ̞
* @param fieldName ÊôÐÔÃû
* @return ¸ÃÊôÐÔ¶ÔÏó
* @throws Exception
*/
public Object getStaticProperty(String className, String fieldName)
throws Exception {
Class ownerClass = Class.forName(className);
Field field = ownerClass.getField(fieldName);
Object property = field.get(ownerClass);
return property;
}
/**
* Ö´ÐÐij¶ÔÏó·½·¨
*
* @param owner
* ¶ÔÏó
* @param methodName
* ·½·¨Ãû
* @param args
* ²ÎÊý
* @return ·½·¨·µ»ØÖµ
* @throws Exception
*/
public Object invokeMethod(Object owner, String methodName, Object[] args)
throws Exception {
Class ownerClass = owner.getClass();
Class[] argsClass = new Class[args.length];
for (int i = 0, j = args.length; i < j; i++) {
argsClass
Ïà¹ØÎĵµ£º
ÀàµÄ³õʼ»¯ºÍ¶ÔÏó³õʼ»¯ÊÇ JVM ¹ÜÀíµÄÀàÐÍÉúÃüÖÜÆÚÖзdz£ÖØÒªµÄÁ½¸ö»·½Ú£¬Google ÁËÒ»±éÍøÂ磬ÓйØÀà×°ÔØ»úÖÆµÄÎÄÕµ¹ÊDz»ÉÙ£¬È»¶øÀà³õʼ»¯ºÍ¶ÔÏó³õʼ»¯µÄÎÄÕ²¢²»¶à£¬ÌرðÊÇ´Ó×Ö½ÚÂëºÍ JVM ²ã´ÎÀ´·ÖÎöµÄÎÄÕ¸üÊÇÏÊÓÐËù¼û¡£
±¾ÎÄÖ÷Òª¶ÔÀàºÍ¶ÔÏó³õʼ»¯È«¹ý³Ì½øÐзÖÎö£¬Í¨¹ýÒ»¸öʵ¼ÊÎÊÌâÒýÈ룬½«Ô´´úÂëת»»³É JVM ×Ö½ÚÂëºó£¬ ......
2009Äê×îºóÒ»²©£º¹ØÓÚ Java ÖжÔÏóµÄ¸´ÖÆ
Java Öеĸ³Öµ²Ù×÷·ûÓë C++ ÖеIJ»Ò»Ñù¡£ÔÚ C++ ÖУ¬ÕâÌõÓï¾ä£ºbc2 = bc1;½«Ò»¸öÃûΪ bc1 µÄ¶ÔÏóµÄËùÓÐÊý¾Ý¶¼¿½±´µ½ÃûΪ bc2 µÄ¶ÔÏóÖС£Ò²¾ÍÊÇ˵ÕâÌõÓï¾äÖ´Ðк󣬳ÌÐòÖÐÓÐÁ½¸öº¬ÓÐÏàͬÊý¾ÝµÄ¶ÔÏó¡£È»¶øÔÚ Java ÖУ¬ÕâÌõÏàͬµÄ¸³ÖµÓï¾ä ......
ÃæÏò¶ÔÏóÔÀíÓëJava
ʵ¼ù¿Î³ÌʵÑé´úÂë¼°±¨¸æ
ʵÑé
1
£º¶ÔÏóºÍÀà
ʵÑéÄÚÈÝ£º
¡¡¡¡
1
¡¢³¢ÊÔÁ½È˺Ï×÷±àд³ÌÐò£¬¼ÓÉî¶Ô·½·¨µÄ½Ó¿ÚÓëʵÏÖµÄÀí½â¡£ÆäÖÐÒ»È˸ºÔð±àд·½·¨
isPrime()
£¬ÓÃÓÚÅжÏÒ»¸ö¸ø¶¨µÄÕýÕûÊýÊÇ·ñËØÊý£¬ÁíÒ»¸öÈ˸ºÔð±àдÖ÷·½·¨
main()
£¬ÀûÓÃ
isPrime()
ÑéÖ¤ÖøÃûµÄ¸çµÂ°ÍºÕ²ÂÏ룺ÈκαÈ
......
¶¨ÒåÒ»¸ö½Ó¿Ú
package com.beckham;
/*
* ¶¨ÒåÒ»¸ö½Ó¿Ú
*/
public interface Move {
public void move() ;
}
ºËÐĵÄʵÏÖÀà
package com.beckham;
/*
* ×î³õµÄ½Ó¿ÚʵÏÖ
*/
public class Tank implements Move {
public void move() {
System.out.println("̹¿Ë¿ª¶¯.......");
}
}
......
ÒÆÎ»ÔËËã·û¾ÍÊÇÔÚ¶þ½øÖƵĻù´¡É϶ÔÊý×Ö½øÐÐÆ½ÒÆ¡£°´ÕÕÆ½ÒƵķ½ÏòºÍÌî³äÊý×ֵĹæÔò·ÖΪÈýÖÖ£º<<£¨×óÒÆ£©¡¢>>£¨´ø·ûºÅÓÒÒÆ£©ºÍ>>>£¨ÎÞ·ûºÅÓÒÒÆ£©¡£
¡¡¡¡ÔÚÒÆÎ»ÔËËãʱ£¬byte¡¢shortºÍcharÀàÐÍÒÆÎ»ºóµÄ½á¹û»á±ä³ÉintÀàÐÍ£¬¶ÔÓÚbyte¡¢short¡¢charºÍint½øÐÐÒÆÎ»Ê±£¬¹æ¶¨Êµ¼ÊÒÆ¶¯µ ......