小编Hos*_*Tav的帖子

Java中的本地VS全局变量

在我今天看到一个例子之前,我以为我理解了java中局部和全局变量之间的区别.在此代码中,我们尝试将元素添加到方法中的链接列表中:

public void addDataPacket(DataPacket data){
    PacketQueueElement newElement = new PacketQueueElement(data);
    if(firstElement != null){
        lastElement.setNextElement(newElement);
        lastElement = newElement;
    }
    else{
        firstElement = newElement;
        lastElement = newElement;
    }
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么newElement在方法关闭后不会消失?因为这是一个局部变量,并且没有在类中的任何地方定义.以下是此类的完整代码:

public class PacketQueue {

/** Das erste Element in der Warteschlange */
private PacketQueueElement firstElement;

/** Das letzte Element in der Warteschlange. */
private PacketQueueElement lastElement;

/**
 * Instanziert eine neue Warteschlange.
 */
public PacketQueue(){
    this.firstElement = null;
    this.lastElement = null;
}

/**
 * Fuegt ein neues Paket ans Ende der Warteschlange …
Run Code Online (Sandbox Code Playgroud)

java variables global local

2
推荐指数
2
解决办法
9505
查看次数

标签 统计

global ×1

java ×1

local ×1

variables ×1