簡體   English   中英

如何從其方法之外訪問對象

[英]How to access an object from outside its method

我有一個看似簡單的問題,但無法解決。

這是我的問題的簡化版本:

public void createContents() {
  Composite dataCalcComposite = new Composite(shell, SWT.NONE);
  dataCalcComposite.setBounds(0, 10, 279, 146);
}

public void repositionObjects() {
  dataCalcComposite.setLocation(50, 10)
}

這將不起作用,因為repositonObjects無法看到dataCalcComposite變量。

我知道我可以通過在第一個方法中調用repostionObjects並將變量作為參數傳遞來解決此問題,但這是我的問題的非常簡化的版本,需要重新定位的對象數量會發生變化,所以我不會認為該方法會奏效。

另外,我不能在變量上使用static ,我的IDE表示只有final可以使用它。

因此,不能在變量上使用static,如何從另一種方法訪問它呢?

您可以移動聲明Composite dataCalcComposite; 在方法之外,因此此變量將成為實例變量。

....
private Composite dataCalcComposite;

public void createContents() {
  dataCalcComposite = new Composite(shell, SWT.NONE);
  dataCalcComposite.setBounds(0, 10, 279, 146);
}

public void repositionObjects() {
  if (dataCalcComposite != null) {
      dataCalcComposite.setLocation(50, 10)
  }
}
....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM