Since main is static, is it possible to access instanceOfB in order to access the value of _nonStaticInt?

“没有.”使用Java Reflection API无法访问局部变量(是否在静态方法中).反射仅适用于类型级别,而不适用于字节码级别2.

对相关问题的陈述理解是正确的;非静态(实例)字段的反射访问逻辑上需要一个实例.也就是说,问题不在于反映B类型,问题在于获取B实例(分配给局部变量)以进行反思.

要做到这一点,B实例必须以某种方式“流血” – 例如分配给静态字段或作为参数传递给main1中的方法/构造函数 – 以便稍后可以将其与反射一起用作访问实例成员的对象.

最干净的方法可能是将B实例向下传递到适当的上下文(或“DI”),也许是IoC的助手……并且可能会改变类型以避免完全使用反射.

1另一种“流血”B实例的可能方法是附加调试器并检查/使用执行框架的主要方法中的局部变量 – 但这听起来像是试图用球杆拍打飞行.

2即使是像BCEL / ASM这样的工具也无法在执行主方法时立即提供帮助.相反,它将用于解构方法,添加所需的钩子/代码以“流血”或使用创建的实例,然后构造一个要执行的修改方法.

java 反射 main_java – 通过反射访问main方法中的局部变量相关推荐

  1. 在JAVA语言程序中main_在Java程序main方法中,正确的参数是

    [单选题]下列叙述中,错误的是 [填空题]Access属于()数据库,Access中,不允许在主关键字字段中有重复值或(). [单选题]如下哪些字符串是Java中的标识符? [填空题]常用的基本电量传 ...

  2. main方法中args_public static void main(String [] args)– Java main方法

    main方法中args public static void main(String[] args) is the most important Java method. When you start ...

  3. Java实现 for循环输出空心的菱形 在main方法中调用printHollowRhombus()方法完成10行的空心菱形输出,其中 printHollo

    Java实现for循环输出空心的菱形 @author asus 在main方法中调用printHollowRhombus()方法完成10行的空心菱形输出,其中 printHollowRhombus() ...

  4. java getbean方法_java main方法中通过ApplicationContext去拿bean(用注解的bean)getbean拿不到?...

    java main方法中通过ApplicationContext去拿bean(用注解的bean)getbean拿不到? 注解类代码如下: ApplicatonContext.xml配置如下: main ...

  5. Java 的main方法中无法调用自身所在类的其他方法的两种解决办法

    前言 编程时我们会发现有时main方法中调用自身所在的类的其他方法时,发现无法调用,错误调用情况如下 错误情况代码 此处第3行调用test方法报错 public class Demo1{public ...

  6. 局部内部类访问方法中的局部变量为什么加final

    1)从程序设计语言的理论上:局部内部类(即:定义在方法中的内部类),由于本身就是在方法内部(可出现在形式参数定义处或者方法体处),因而访问方法中的局部变量(形式参数或局部变量)是天经地义的.是很自然的 ...

  7. 线程的常用方法——currentThread方法||在main方法中直接调用run()方法,没有开启新的线程,以在run方法中的当前线程就是main线程||启动子线程,子线程会调用run方法

    线程的常用方法--currentThread方法 Thread.currentThread()方法可以获得当前线程 Java 中的任何一段代码都是执行在某个线程当中的. 执行当前代码的线程就是当前线程 ...

  8. 创建一个长方形类,成员域有长方形的长和宽,成员方法有计算长方形的面积,在main方法中创建长方形类对象,并调用计算长方形面积的方法。

    package TestDemo; /** 创建一个长方形类,成员域有长方形的长和宽,成员方法有计算长方形的面积.* 在main方法中创建长方形类对象,并调用计算长方形面积的方法.*/ import ...

  9. 键盘录入长方形的长和宽,定义方法计算该长方形的周长,并在main方法中打印周长

    键盘录入长方形的长和宽,定义方法计算该长方形的周长,并在main方法中打印周长 package com;import java.util.Scanner;public class Demo02 {pu ...

最新文章

  1. ASP.NET 3.5之屠龙刀
  2. 密封表贴电感的漏磁以及在150kHz导航信号放大器中的性能
  3. 【转】ubuntu,你改变了我的人生
  4. ASP实例:6行代码实现无组件上传
  5. 3c技能和背包需要改建吗?_认为您需要仪表板? 您应该改建一个笔记本。
  6. 从入门到精通:卷积神经网络初学者指南
  7. 从高排到低变成小楼梯儿歌_幼儿早教三字儿歌,帮助宝宝启蒙学说话
  8. X86汇编语言从实模式到保护模式14:用户程序编程接口及其实现
  9. opencv 显示程序运行时间
  10. ASCII、Unicode、GBK和UTF-8字符编码的区别联系(转载)
  11. Goland的常用快捷键
  12. 【Spring 核心】装配Bean(一) 自动化装配
  13. libav(ffmpeg)简明教程(1)
  14. 用Python学《微积分B》(Fourier级数)
  15. 通用 USB 重定向和客户端驱动器注意事项
  16. 路由器dhcp服务异常不能上网_关闭DHCP服务后,路由器不能上网怎么办?
  17. win7添加打印机提示没有权限访问网络资源 网络不可用
  18. android系统与苹果手机号码,苹果手机号码怎么导入到手机 苹果手机号码导入到手机的方法步骤【图文教程】...
  19. K8S集群节点显示NotReady怎么解决?
  20. Linux学习入门-------------------------VMvare与镜像的安装与配置

热门文章

  1. no module named ‘cv2’解决办法
  2. Android audio切换设备通道流程(二十八)
  3. ffmpeg(5):SDL相关学习
  4. CMSampleBufferRef获取h264 char*数据及sps/pps
  5. 解决WordPress无法发送电子邮件
  6. java编程基础码_【Java编程的逻辑】编程基础
  7. inno setup 环境变量 立即生效_CentOS7设置环境变量
  8. win7 html 设置成桌面,教你怎样设置专属自己的windows7动态桌面
  9. Matlab重建信号实验总结,实验三信号采样与重建(实验报告).doc
  10. 绘图的尺寸_Auto CAD机械绘图尺寸标注教程10(标注多重引线)