gpt4 book ai didi

java - 为什么我应该创建一个新的对象引用来执行函数调用而不是使用现有的对象引用?

转载 作者:行者123 更新时间:2023-12-01 10:06:45 25 4
gpt4 key购买 nike

我的变量program是一个带有ByteCode子类对象列表的对象,我想使用名为execute()的抽象方法来执行它。 getNextCode() 获取该列表中的下一个 ByteCode 对象。
我的问题是,为什么我要创建一个新的 ByteCode 实例来调用execute()方法,而不是仅仅引用列表中的实例并调用execute方法与第二个代码框的方式相同?有区别吗?出于某种原因创建新实例是否更安全?和这里动态绑定(bind)的过程有关系吗?

突出显示这两个语句

program.getNextCode(pc).execute(this);

ByteCode code = program.getNextCode(pc);
code.execute(this);


  public void executeProgram() { 
runStack = new RunTimeStack();
returnAddrs = new Stack();
isRunning = true;
pc = 0;

while (isRunning) {
ByteCode code = program.getNextCode(pc);
code.execute(this);


   public void executeProgram(){

runStack = new RunTimeStack();
returnAddrs = new Stack();
isRunning = true;
pc = 0;

while(isRunning){
program.getNextCode(pc).execute(this);

最佳答案

在这段代码中:

 ByteCode code = program.getNextCode(pc); 

您并不是在创建新的 ByteCode 实例,您只是引用 program.getNextCode(pc) 返回的实例

关于java - 为什么我应该创建一个新的对象引用来执行函数调用而不是使用现有的对象引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36391681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com