测试Java的变量和方法

方法一:修改访问权限修饰符

方法二:利用安全管理器(反射)

方法三:使用模仿(Mock)对象

方法四:利用字节码技术

方法对比

  方法 修饰符 使用难度 缺陷

  protected 缺省 private

  方法一:修改访问权限修饰符 是 是 是 低,有java编程基础即可。 
由于需要修改源代码,虽然是同包可见,也会带来一些封闭性的问题。

  方法二:利用安全性管理器 是 是 是 中,需要了解java安全性管理器及反射机制。 
一些对代码安全有要求的程序,程序员并没有修改security manager的权限,此时,安全管理器方法失效。

  方法三:使用模仿对象 是 是 否 较高,需要了解设计模式和待测对象的内部实现细节。 
由于模仿对象要求伪类必需和待测类是继承与被继承的关系,所以当源码以private关键字修饰时,此方法失效。

  方法四:利用字节码技术 是 是 是 高,需要操作和改写类部分的字节码。 
学习成本高,需要了解Java字节码技术

你可能感兴趣的:(java)