当前位置: 首页 > 面试题库 >

是否有可能在运行时重写方法?

卢知
2023-03-14
问题内容

无论如何在运行时重写方法?即使需要从该实例动态创建子类?


问题答案:

使用纯Java,否。

使用ByteBuddy(首选),asm,cglib或Aspectj时,可以。

在纯Java中,在这种情况下要做的事情是创建一个基于接口的代理,该代理处理方法调用并委托给原始对象(或不委托)。



 类似资料:
  • 我对Python非常陌生,实际上这是我写的第一篇文章,如果有人能给我解释一下,我将不胜感激 我遵循一个教程,使用构建了一个简单的人工神经网络。我使用了社区版来实现这一点 现在我想用这个人工神经网络来预测结果。我的问题是,我是否可以执行下面这行代码,而不必从代码的开头运行整个脚本并将其放在代码的末尾? 据我所知,每次我运行脚本时,都会创建新的神经网络,然后对其进行训练。我想跳过整个过程,只训练一次网

  • 问题内容: 我在基类中定义了一个静态方法,我想在其子类中重写此方法,这可能吗? 我尝试了一下,但是没有按预期工作。当我创建类B的实例并调用其callMe()方法时,将调用类A中的静态foo()方法。 问题答案: 静态方法调用在编译时解决(不动态分配)。 给

  • 我试图在我的控制台应用程序中创建流程动画。有没有可能为此需求重写之前的台词?我知道< code>\r但它只对当前行有效。 如果不可能,我怎么能达到动画效果?谢谢。 我的主机是标准的Ubuntu 12.04终端模拟器。 感谢@MrSmith42,我制作了这个简单的演示,它展示了改写行的方法:

  • 问题内容: 我很好奇JVM的工作方式。JVM是否承认诸如“专用”之类的方法可访问性规则受保护,还是仅在编译时完成? 例如,是否可以在第37行附近进行一些字节码操作并调用一个受保护的方法,例如test3?通常,编译器不会让我调用该方法,因为它被声明为protected。但是我很好奇,是否在运行时强制执行了该受保护的规则? u.test1(); //在运行时是否可以通过字节码操作来调用“ test3”

  • 我正在运行一个由20个节点组成的kubernetes群集。命名空间中的一个pod被重新启动。该吊舱因出口代码为137的OOM而死亡,并按预期重新启动。但我想知道pod之前运行的节点。有什么地方可以查一下日志来了解信息吗?像蒂勒,库贝勒,库贝勒等等。。。

  • 问题内容: 我有一个安排计时器的游戏。我有这个CoresManager文件: 我在游戏中使用这个: 如果播放器注销并且服务器重新启动,CoresManager计时器将停止运行。为了使其再次运行,我添加了代码以使其在您再次登录后再次执行startTimer()。但是,由于如果服务器未注销,计时器仍在运行,因此计时器开始运行两次。根据您注销和登录的次数,计时器开始减去2或更多。我认为,如果有代码确定计