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

相关类说明:

   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页 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值