代码如下:
Import ...(omitted);
public class test{
public static void main(String[] args){
JFrame abcd=new extendJFrame();
abcd.setTitle("test");
abcd.setSize(100,100);
abcd.setVisible(true);
}
Public class extendJFrame extends JFrame(){
.......
}
}
报错:no enclosing instance of type test is accessible.
eclispe提示错误在 JFrame abcd=new extendJFrame(); 这一行,而且将 extendJFrame类定义为静态类就可以编译,不知道为什么,请大神指点。
另外,这样写也是可以编译的:
Import ...(omitted);
Public class extendJFrame extends JFrame(){
public static void main(String[] args){
JFrame abcd=new extendJFrame();
abcd.setTitle("test");
abcd.setSize(100,100);
abcd.setVisible(true);
}
//定义拓展类
....... (omitted)
}
如果说静态方法不能调用实例变量的话,那为什么这样可以编译呢?
本人菜鸟,求高手指教。
先膜拜一个!但是我还是不明白为什么第二个没有静态修饰,但仍然可以运行,两个究竟差在哪里,能否费力帮小弟点拨一下,谢谢。
追答不知道你疑问的地方是不是 " //定义的拓展类 "
,如果不是,
Import ...(omitted);
Public class extendJFrame extends JFrame(){
public static void main(String[] args){
JFrame abcd=new extendJFrame();
abcd.setTitle("test");
abcd.setSize(100,100);
abcd.setVisible(true);
}
}
这个我觉得没什么好说的,书上网上例子一大堆。 JFrame是你引进来的类,与你所描述的条件不一样。
能不能正经点