这在oop java中是如何工作的?

Ahm*_*der 1 java oop

这段代码正确地与我合作,但是这是怎么回事?我是如何制作4个JMenu同名的对象(菜单)?我需要理解即使它有效,这段代码是编写代码的好方法还是更好?

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class Window extends JFrame {

    private static final String TITLE = "DevTools";
    private static final int WIDTH = 800;
    private static final int HEIGHT = 600;

    private JMenuBar menubar;
    private JMenu menu;
    private JMenuItem menuitem;
    private String[] menu_titles = {"File", "Edit", "Diagrams", "Help"};

    public Window(){
        init();
        createMenu();
    }

    public void init(){
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setExtendedState(MAXIMIZED_BOTH);
        this.setResizable(true);
        this.setSize(WIDTH, HEIGHT);
        this.setLocationRelativeTo(null);
        this.setTitle(TITLE);
    }

    public void createMenu(){
        menubar = new JMenuBar();
        setJMenuBar(menubar);

        for(int j = 0; j < menu_titles.length; j++){
            menu = new JMenu(menu_titles[j]);
            menubar.add(menu);
        }

        this.setVisible(true);
    }

}
Run Code Online (Sandbox Code Playgroud)

Era*_*ran 6

我是如何将4个JMenu对象命名为同名的(菜单)

menu不是任何对象的名称. menu只是用于临时存储对每个新创建的JMenu实例的引用的变量.您可以为其分配任意数量的引用.它最终将只保留最新的.

由于JMenu您创建的每个intance都添加到了menubar JMenuBar,您最终会得到一个包含多个JMenu实例的菜单栏.