Public 2 中的私有变量连接问题 Java 类

Public private variable connection issue in 2 Java Classes

我有两个文件,Display.java(第一个)和 Lancher.java(第二个)。他们都在同一个项目下,但是两个不同的 类。我想要一个显示图像,但是 Launcher 文件的宽度和高度出现错误。我不知道为什么,因为 Display 文件中的宽度和高度都是 public

import javax.swing.*;
import java.awt.*;

public class Display extends JFrame {
    
    private Canvas canvas;
    
    public Display(int width, int height) {
        setTitle("Game");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //Process will still be running but application closes when cross is pressed
        setResizable(false);
        
        canvas = new Canvas();
        canvas.setPreferredSize(new Dimension(width, height));
        //Set size to pass in with dimension
        canvas.setFocusable((false));
        add(canvas);
        pack();
        //Add canvas to display & calculate size of display frame
        
        setLocationRelativeTo (null);
        //To open frame in the center of screen as opposed to side
        setVisible(true);
        
        
    }

}

Launcher.java

public class Launcher {
    
    public static void main(String[] args) {
        Display display = new Display( width: 800, height: 600);
    }

}

Launcher class 中 Display 对象的初始化语法无效。这将是初始化它的正确方法:

Display display = new Display(800, 600);

注意参数 names/identifiers 在将值传递到对象的构造时未使用。

widthheight 是参数名称。 Java 没有命名参数,只有位置参数。换句话说,在对构造函数的调用中删除标签,你应该没问题:

public class Launcher {
    public static void main(String[] args) {
        Display display = new Display(800, 600);
    }
}