Groovy can access private methods and variables of a Java class. How does Groovy do this behind the scene? Is it because of the use of invokedynamic bytecode instruction which is used by MethodHandle class? I think Java uses invokespecial instruction for calling private methods and invokevirtual for public right which respects access modifiers?

解决方案

Groovy is written in Java, so it hopefully doesn't rely on the byte code directly, it doesn't it using the Reflection API.

For more details check for java.lang.reflect in the source code, you will then see how it uses the Reflection API behind the scene.

groovy 访问java,Groovy如何能够访问Java类的私有方法?相关推荐

  1. java怎么访问私有类_如何从Java类的外部访问类的私有方法?

    您可以使用java反射包访问类的私有方法. 步骤1-通过传递声明为私有的方法的方法名称来实例化java.lang.reflect包的Method类. 步骤2-通过将值true传递给setAccessi ...

  2. 利用Java反射机制调用类的私有方法

    利用Java反射机制调用类的私有方法 引言 来吧·展示 参考链接 引言 如何调用其他类的私有方法呢? 可以利用Java的反射机制,去调用其他类的私有方法 来吧·展示 package cn.learn. ...

  3. java final类为什么不能继承_浅谈Java之终止继承:Final类和Fianl方法

    前言 关键字Final不仅可以用来修饰变量,而且对类及其方法的继承也有很大的影响,本文将从类与方法两个方面介绍final关键字的功能. Final类 当关键字final用来修饰类时,其含义是该类不能再 ...

  4. java private 接口_java接口中 定义 private 私有方法

    在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...

  5. Java基础篇:为Box类添加一个方法

    尽管创建一个仅包含数据的类是相当不错的事情,但这样的情况很少发生.大部分情况是你将使用方法存取由类定义的实例变量. 事实上,方法定义大多数类的接口.这允许类实现函数可以把内部数据结构的特定布局隐蔽到方 ...

  6. Java之终止继承:Final类和Fianl方法

    前言 关键字Final不仅可以用来修饰变量,而且对类及其方法的继承也有很大的影响,本文将从类与方法两个方面介绍final关键字的功能. Final类 当关键字final用来修饰类时,其含义是该类不能再 ...

  7. java graphics2d 绘图_Java编程 Graphics2D类的绘图方法

    现在都讲究立体的效果,Graphics2D类的绘图方式就属于高级绘图了,在我们日常生活中经常提到的2d.3d电影都是立体的,而编程语言也是一样,可以实现2d的效果哦,下面就让我们一起来学习下吧! Ja ...

  8. Java运行时动态加载类之ClassLoader方法带参数

    和该文环境一样http://blog.csdn.net/fjssharpsword/article/details/64922083 不同的是,在load出的class调用具体方法时传递参数. 1.U ...

  9. Java技术——你真的了解String类的intern()方法吗

    0.引言 什么都先不说,先看下面这个引入的例子: [java] view plain copy String str1 = new String("SEU")+ new Strin ...

最新文章

  1. JavaScript中的instanceof运算符是什么?
  2. Linux管道编程实例
  3. asp.net 1.1/ 2.0 中快速实现单点登陆
  4. div悬浮在固定位置_悬浮式超声波致动器概要及研究动向
  5. 具有弹性效果的ListView
  6. c语言编程请输入密码,想程序高手求助--用C语言来编辑一个输入密码的程序
  7. pytorch之过拟合的处理(Dropout)(笔记五)
  8. 自动超频_单核和多核全都要 为Zen3而生的超频技术有点猛
  9. 《Python语言程序设计》——3.4 实例研究:最小数量的硬币
  10. Python之路-4
  11. 别再白瞎去花钱购买高精度卫星地图,一文教你解决精度与下载问题
  12. 林子雨大数据java练习
  13. uwp浏览器java源码_在UWP应用程序中打开UWP
  14. 用户注册时图片验证码和短信验证码的逻辑
  15. 触屏手机关闭开机触屏校准
  16. antdPro创建的项目网络请求统一处理
  17. 守护软件供应链安全:国产软件BinSearch的最佳实践
  18. 基于 FPGA Vivado 信号发生器设计(附源工程)
  19. 计算机二级浙江省word,浙江省计算机二级办公软件word
  20. 爆笑网文-泰坦尼克号空中巴士版

热门文章

  1. python找不到模块文件夹_python – __init__.py在同一目录中找不到模块
  2. 计算机课程学习小结,计算机课程学习心得5篇___.docx
  3. java解析xml 字符串_Java解析XML字符串
  4. 计算机原理语言方框图,计算机原理整理原版1.10.docx
  5. 用计算机说唱的 那个男的是谁,中国男rapper排名 中国rap说唱饶舌歌手排名
  6. java(线程特性,Volatile作用,java内存模型)
  7. 【arc068F】Solitaire
  8. python基础(四)运算
  9. JAVA编码(27)——执行批量导入Excel文件并进行解析
  10. ECCV 2020 | 比GAN更强,ETH提出新型超分辨率模型SRFlow