2012-06-10 12 views
5

Có lớp tiếp theo -Gọi đến lớp chủ sở hữu từ một người biết lắng nghe

public class GUIclass1 extends org.eclipse.swt.widgets.Composite { 
    private void initGUI() { 

     { 
      // The setting of the open file button. 
      openButton = new Button(this, SWT.PUSH | SWT.CENTER); 
      openButton.addSelectionListener(new SelectionAdapter() { 
       public void widgetSelected(SelectionEvent evt) { 
        foo() ; 
       } 
      }); 
     } 
    } 

    public void foo() { 
     // implementation .. 
    } 
} 

Như bạn thấy trong addSelectionListener có một sự kêu gọi đến phương pháp foo().

Câu hỏi của tôi là - tham chiếu nào tôi nên viết làm tiền tố foo() để biết lớp học nào có liên quan đến.

Tôi đã thử super().foo() không thành công.

Trả lời

8

Bạn sẽ gọi nó như GUIclass1.this.foo()

0

Hãy thử điều này,

Như chúng ta đã biết rằng an inner class has an implicit access to the members of the outer class, nên this.foo() Will NOT work, Nhưng

GUIclass1.this.foo() Will WORK.