对于java匿名内部类引用外部类this.***出错处理

 时间:2024-09-26 02:28:46

在java编程中我们往往会遇到,使用匿名内部类的情况,但是对于一些程序当我们使用this.**时,会提示没有定义**,这该怎么处理呢。

工具/原料

eclipse软件

win7系统

问题描述

1、如图所示,这是小编建立的一个关于界面的旯皱镢涛程序,其中调用匿名类的部分;大家都看到了,这里会出现一个错误;整体代码如下:packagejframe01;importjava.awt.ev髫潋啜缅ent.WindowAdapter;importjava.awt.event.WindowEvent;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;publicclassjframe01extendsJFrame{ privateJPaneljp=newJPanel(); publicjframe01(){ this.add(jp); this.setTitle("动态添加标签"); this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); this.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ jp.add(newJLabel("这里的按钮不能被使用")); this.setVisible(true); } }); this.setBounds(100,100,500,100); this.setVisible(true); } publicstaticvoidmain(String[]args){ newjframe01(); }}

对于java匿名内部类引用外部类this.***出错处理

2、点击错误符号,我们会看到一个错误提示:ThemethodsetVisible(boolean)isundefinedforthetypenewWindowAdapter(){};

对于java匿名内部类引用外部类this.***出错处理

3、大家会看到,不会没有这个类的,因为在下面同样的代码中没有报错,如图所示:

对于java匿名内部类引用外部类this.***出错处理

处理方法

1、在匿名类内部引用this.***时填上外部类名字,比如,在这里外部类是jframe廴类锾渭01,于是乎就改芤晟踔肿成jframe01.this.**,这样错误就没有了;所以,就吸取经验了,以后凡是用到内部类引用外部类时,都给他加上外部类的名字,估计就不会出错了;

对于java匿名内部类引用外部类this.***出错处理

2、点击,执行下,看看对不对啊。

对于java匿名内部类引用外部类this.***出错处理

jquery只能输入数字 Navicat Premium中如何在模型中创建触发器模型 安装 Dubbo 管理控制台dubbo-admin discuz!x2.5更换域名如何解决? kafka初学者必须知道的常用命令分享
热门搜索
昌河汽车报价及图片 刘三姐电影 智障儿童图片 一对一韩国电影 时代图片