`
Joel
  • 浏览: 12437 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

通过反射机制是否可以访问对象的私有属性,方法???

阅读更多

相关类说明:

   1) java.lang.Class

           在程序运行期间,Java运行时系统始终为所有对象维护一个被称为运行时的类型标识。这个信息保存着每个对象所属的类足迹。

      虚拟机利用运行时信息选择相应的方法执行。保存这些信息的类被称为Class,Object类中的getClass()方法将会返回一个Class类

      的实例。获取Class类对象有三种方式:

       a)Object类getClass()方法

         eg: Employee e

             .....

             Class cl = e.getClass();

       b)Class类的静态方法forName()

         eg: String className = "java.util.Date";

             Class cl = Class.forName(className);

       c)任意类型的class属性

         eg: Class cl1 = Date.class;

             Class cl2 = int.class;

             Class cl3 = Double[].class;

      :) 很有嚼头的两句话:

         :) 如同用一个Employee对象表示一个特定的顾员属性一样,一个Class对象将表示一个特定类的属性。

         :) 一个Calss对象实际上表示的是一个类型,而这个类型未必一定是一种类。例如,int不是类,但int.class是一个Class类型的对象。

     

   2) java.lang.reflect.Constructor

   3) java.lang.reflect.Field   

   4) java.lang.reflect.Method

      分别描述类的构造器,域,方法。

   5) java.lang.reflect.AccessibleObject

      为反射对象设置可访问标志。使得对象的私有属性也可以被查询和设置,是Field, Method和Constructor类的共公超类   

 

请求大家帮助:

   1,java这样是不是就没有安全可言了?????   

 

资料参考:

   《Java2核心技术 卷1:基础知识》第7版 179页---210页 


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics