关于嵌套类 你直接写Window.dispose(),那可不就是把dispose方法当成一个static方法来调用的吗?如果要把它作为非static方法调用,应该这样:Window window = new Window();window.dispose(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Window类本身未定义dispose()方法,所以它只能调用基类的dispose()方法将:Window.dispose();改为:Window.super.dispose();就可以了。另外new Window.setVisible(true);的写法也不对,改为: Window win=new Window(); win.setVisible(true);可以运行 按照SHIZUMARU(绯雨闲丸)的意思:直接写Window.dispose()是把dispose方法当成一个static方法来调用,那么heifei()的Window.super.dispose()为什么不是当成static方法来调用? 这样写可能更直观:...this.addWindowListener(new winAdp(this));}class winAdp extends WindowAdapter{ Window win; winAdp(Window win){ this.win=win; } public void windowClosing(WindowEvent e){ win.dispose(); System.Exit(0);... 在这里Window.super.dispose()和Window.dispose()不一样,内部类可以访问外部类的方法或者非外部类的静态方法。Windows.super.dispose()就是你的Window类从java.awt.Frame-->java.awt.Window继承下来的方法(相当于指定路径:到Window的基类去找。),而Window.dispose()则不然,在你的Window类里找不到这个方法它又不是外部静态方法,所以出错。事实上,完全不指定,将Window.dispose();改为: dispose(),编译器会自动搜索到基类的dispose()方法,从而编译通过。 内部类访问外部类的方法和访问外部类的对象的方法不同,调用对象的dispose()会调用到超类的方法,但Window.dispose()只调用Window类本身的方法,所以出错了,谢谢指正! 排序 初学者求教~JAVA做一个显示时间的小程序 但不是实时的~ swt中List有没有办法设置两列数据? 类似iLog和Twaver的产品还有那些 我下了一个开源程序的JAR它的manifest.mf好奇怪 向大家请教J2SE5.0中APPLET小程序运行问题!真急死我了,弄来弄去就是不明白怎么回事! 大家帮忙看一个创建word文档的问题 求助:我调用 createImage 为什么返回 null? 什么是java bridge方法? java TOMCAT求教 各位,我问个很菜的问题。
将:
Window.dispose();
改为:
Window.super.dispose();
就可以了。
另外new Window.setVisible(true);的写法也不对,改为:
Window win=new Window();
win.setVisible(true);
可以运行
...
this.addWindowListener(new winAdp(this));
}
class winAdp extends WindowAdapter{
Window win;
winAdp(Window win){
this.win=win;
}
public void windowClosing(WindowEvent e){
win.dispose();
System.Exit(0);
...
内部类可以访问外部类的方法或者非外部类的静态方法。Windows.super.dispose()就是你的Window类从java.awt.Frame-->java.awt.Window继承下来的方法(相当于指定路径:到Window的基类去找。),而Window.dispose()则不然,在你的Window类里找不到这个方法它又不是外部静态方法,所以出错。事实上,完全不指定,将Window.dispose();
改为: dispose(),编译器会自动搜索到基类的dispose()方法,从而编译通过。