我正处于学习 Java 的初学者阶段。在我到目前为止阅读的所有文档中,都提到 Java 使用安全引用来访问对象而不是内存指针。而且当一个方法返回时,它的局部范围的变量变得有资格进行垃圾收集。
那么为什么在下面的代码中,在 createFrame 方法返回后,JFrame 对象没有与窗口一起被销毁?
import javax.swing.*;
public class HelloJava {
public static void main( String[] args ) {
createFrame();
}
private static void createFrame() {
JFrame frame = new JFrame( "Hello, Java!" );
JLabel label = new JLabel( "Hello, Java!", JLabel.CENTER );
frame.getContentPane().add( label );
frame.setSize( 300, 300 );
frame.setVisible( true );
}
}
不仅窗口是可见的,我还可以在该窗口上执行所有操作,例如拖动、最大化、最小化等。