【问题标题】:Inner class modifying owning class's attribute内部类修改拥有类的属性
【发布时间】:2011-03-10 15:58:37
【问题描述】:

我有这样的代码:

class Foo() {
    time_to_play = 0
    class Bar() {
        void change_player() {
            //I need something HERE
        }
    }

}

我需要从Foo 类更改属性time_to_play,但是从change_player() 方法内部进行更改,即在Bar 类下。

我无法在Foo 类之外声明类Bar,并进行“扩展”并调用超级。 ...,因为在我的情况下它会破坏 OO。

另外,我不想将time_to_play 设为静态变量,调用Foo.time_to_play

我该怎么做?

【问题讨论】:

  • 另外,忽略语言上的词汇错误。

标签: java class inner-classes


【解决方案1】:

你想要的是:

void change_player() {
    Foo.this.time_to_play = // something
}

【讨论】:

  • 当然这只在内部类有同名字段的情况下才需要。再说一次,确定总是好的。
猜你喜欢
  • 2015-01-05
  • 2016-11-10
  • 1970-01-01
  • 1970-01-01
  • 2021-03-17
  • 1970-01-01
  • 1970-01-01
  • 2018-04-03
  • 1970-01-01
相关资源
最近更新 更多