`
guhanjie
  • 浏览: 301336 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java匿名类中使用上层类中的对象

    博客分类:
  • Java
 
阅读更多
public class Borrow1 extends ***{

     一个方法中定义了一个Text,然后注册该text的modify事件:
    text = new Text(composite, SWT.BORDER);
		text.setBounds(0, 0, 76, 21);
		text.addModifyListener(new ModifyListener() {  
			@Override  
			public void modifyText(ModifyEvent e) {  
			// 把数据存在自己手里,对外提供get API   
			//username = ((Text) e.getSource()).getText();  
			// 把数据统一交给wizard里面的通用存储器DialogSettings来存值储   
			//MyWizardPage1.this.getWizard().getDialogSettings().put("用户名", ((Text) e.getSource()).getText());  
			// 因为模型改变了,所以要及时更改界面   
			     Borrow1.this.getContainer().updateButtons();  
			}  
			});  

}

 

这里内部匿名类需要用上层类Borrow1的方法getContainer(),怎么用,我之前一直很苦恼,现在貌似有两种方法:

1. 如上所示,使用类名.this.调用对象和方法,如:

    Borrow1.this.getContainer().updateButtons(); 
2. 对上层类的对象有用,对方法不清楚。如果是要用上层类中的对象,可以将对象定义时修饰符加上final,这样就可以用了。

但是这样做有局限性,个人觉得第一种方法好。

分享到:
评论

相关推荐

    Java软件工程师笔试题

    以上是对给定文件中的知识点进行的详细解析,涵盖了匿名内部类、MVC设计模式、WebService、Java的`goto`保留关键字以及中间件的概念和作用,旨在帮助Java软件工程师在面试或笔试前做好充分准备。

    Java八股文.pdf

    - **变量与数据类型**:了解Java中的基本数据类型(如`int`、`double`、`boolean`等)及其对应的包装类,以及如何声明和初始化变量。 - **运算符**:掌握算术运算符、关系运算符、逻辑运算符、位运算符以及赋值...

    李星华老师讲解java常见面试题笔记

    10. Java中的关键字与保留字:Java不支持goto关键字,尽管它是保留字,但无法在代码中使用。 11. length与length():数组的长度是通过length属性获取,而字符串的长度是通过length()方法获得。 12. 重载与覆盖...

    java面试题,这是一些java方面的面试题目,给大家参考参考

    在Java中可以通过实现`Runnable`接口或继承`Thread`类来创建线程。 - **实现Runnable接口**:适合需要多个不同线程共享同一实例的情况。 - **继承Thread类**:可以直接定义线程行为,但不建议过多使用,因为Java不...

    android layout

    - **匿名内部类**:没有名字的内部类,直接实例化使用。 - **类本身**:当前类实现监听器接口。 - **顶级类**:独立的类实现监听器接口。 - **标签属性**:XML布局文件中直接绑定事件处理。 - **基本组件的常用...

    JavaScript王者归来part.1 总数2

     11.4 框架--上层的Window对象   11.4.1 多框架应用   11.4.2 框架之间的关系   11.4.3 框架的命名   11.4.4 子框架中的JavaScript   11.4.5 框架的应用--多页签显示   11.4.5.1 什么是页签   11.4....

    Android经典面试题大全.pdf

    3. **事件监听**:在Android中,为了响应用户交互,我们经常使用匿名内部类来实现各种监听器,如OnClickListener、OnCheckedChangeListener等,这样可以快速创建并设置事件处理器。 4. **访问限制**:内部类可以...

    Scala-简易详解文章

    Scala是一种多范式编程语言,它融合了面向对象和函数式编程的概念,使其在现代软件开发中具有广泛的应用。以下是对Scala的一些关键知识点的详细解释: 1. **基础语法**:Scala的基础语法包括常量(如`val`声明的不...

    小米2019秋招前端开发笔试题(2).docx

    此表达式中`null == undefined`为真,而`Object.prototype`为对象,与布尔值进行逻辑运算时总是转换为`true`,故整个表达式为真。 - b. `[1,2,3].splice(1,1,1)`方法修改数组并在原数组上操作,返回被删除的元素,...

    oc-todo:Objective-C ALL

    - **类(Class)**:Objective-C中的所有对象都是类的实例。类定义了对象的属性(实例变量)和行为(方法)。 - **对象(Object)**:通过类创建的对象,具有类定义的属性和行为。 - **继承(Inheritance)**:子类可以...

Global site tag (gtag.js) - Google Analytics