1

我遇到了这个问题,因为我开始进行 OOP 编程我想从另一个类中关闭一个类,这些类已经被我想关闭的这个类调用。

前任:

班级校长调用班级菜单和内部菜单我关闭校长

//Im inside of Principal

Menu mnu = new Menu();

//Now im inside of Menu

public void closePrincipal(){

principal.close();
}
4

3 回答 3

4

您可以将对主体类的引用传递给菜单;

// 在你的主体中

Menu mnu = new Menu(this);

您必须在 Menu 类中定义该构造函数:

class Menu{
    private Principal principal;

    public Menu(Principal principal){
      this.principal = principal;
    }
...
}

所以当你想在你的菜单中使用它时,就去做吧。

principal.close();
于 2012-06-19T13:58:31.630 回答
0

当您说“我在 Principal 类的代码中”时,您可能想认为“我已经基于 Class 主体创建了一个变量,并且我正在为该变量执行一些代码”。

您已将定义(“类”)转换为特定对象。

于 2012-06-19T14:03:30.550 回答
0

创建菜单并传递主体

Menu mnu = new Menu(this);

在菜单中:

private Principal principal;

public Menu(Principal principal) {
    this.principal = principal;
}

//You can close the menu's principal any time by calling this...
public void closePrincipal() {
    principal.close();
}

您可以通过这种方式关闭主体

mnu.closePrincipal()

或者在菜单的构造函数中关闭它。

于 2012-06-19T14:04:24.967 回答