全部展开
让我们先谈谈安全性,让我们了解一下概念
JAVA语言的反射机制:
在Java运行时环境中动态方法调用 为什么不安全,对于任何类,我都可以知道该类具有哪些属性和方法吗?
我可以为任何对象调用他的方法吗?这些答案是肯定的. 这种动态获取类信息和动态调用类方法的功能来自JAVA的反映. 使java具有动态语言的特征.
JAVA反射机制主要提供以下功能:
1. 确定运行时任何对象所属的类
2. 在运行时构造任何类的对象
3. 确定运行时任何类的成员变量和方法(甚至可以通过反射调用私有方法)
4. 在运行时调用任何对象方法(*****注意: 前提是在运行时,而不是在编译时)
java的封装
对类的封装不允许外部类随意修改类的成员变量;
在定义类的成员(包括变量和方法)时,请使用private关键字解释成员的访问权限,该访问权限只能由该类的其他成员方法调用动态方法调用 为什么不安全,而不能由其他类中的方法调用; <
为了实现封装,通常将类的成员变量声明为private,然后通过public方法访问此变量. 对于变量的操作,通常有读取和赋值操作(getXXX和setXX);
类是模块. 我们应该保留该模块,使其仅披露使外界知道所需的内容,并隐藏其他所有内容. 进行编程时,应尽量避免一个模块直接修改或操纵另一个模块的数据. 该模块的设计追求“强大的凝聚力(许是在类中独立完成的,并且不允许外部干预),弱耦合(提供了最少的外部方法调用)”.
封装应该是一种思考方式,思考方式
这不是强制性方法
毕竟,Java虚拟机需要一些方法来学习类的内部结构和实现
通过对概念的理解,不难发现封装没有被完全封装,并且一切都是相对的. 自然安全性相对安全.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-163533-1.html