黑马程序员技术交流社区

标题: 关于反射的Method [打印本页]

作者: 王宝龙    时间: 2012-10-12 19:30
标题: 关于反射的Method
本帖最后由 王宝龙 于 2012-10-15 14:06 编辑

首先定义了一个Point类,其中这个类中有一个私有的方法getY(),利用反射
getMethod(“getY”,null)并不能取得这个方法,那有没有类似于setAccessible(),这样的
“暴力反射”是针对方法的。
  1. class Point
  2. {
  3.         private int x ;
  4.         private int y ;
  5.         
  6.         public Point(int x,int y)
  7.         {
  8.                 this.x = x;
  9.                 this.y = y;
  10.         }
  11.         
  12.         public  int getX()
  13.         {
  14.                 return x;
  15.         }
  16.         
  17.         private int getY()
  18.         {
  19.                 return y;
  20.         }
  21. }
  22. public class Demo
  23. {
  24. public static void main(String [] args) throws Exception
  25. {
  26.   Point rp = new Point(2,7);
  27.   Method method = rp.getClass().getMethod("getY",null);
  28.   System.out.println(method);
  29. }
  30. }
复制代码

作者: 杨志男    时间: 2012-10-12 21:04
  1. import java.lang.reflect.Method;

  2. class Point {
  3.         private int x;
  4.         private int y;

  5.         public Point(int i, int j) {
  6.                 // TODO Auto-generated constructor stub
  7.         }

  8.         public void setX(int x) {
  9.                 this.x = x;
  10.         }
  11. //这里要单独set,如果两个变量放在一起set,那getY()方法不是没用了,那反射时会出现NoSuchMothedException
  12.         public void setY(int y) {
  13.                 this.y = y;
  14.         }

  15.         public int getX() {
  16.                 return x;
  17.         }

  18.         public int getY() {
  19.                 return y;
  20.         }
  21. }

  22. public class PDemo {

  23.         /**
  24.          * @param args
  25.          */
  26.         public static void main(String[] args) throws Exception {
  27.                 Point rp = new Point(1, 2);

  28.                 Method method = Point.class.getMethod("getY", null);

  29.                 System.out.println(method.getName());

  30.         }

  31. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2