不好意思,最近问题比较多,就当散分了。:) 上面那个用了static 实力化后连编译都不能通过。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 哥们 public void show() { OSDemo frmOSDemo=new OSDemo("操作系统"); frmOSDemo.pack(); frmOSDemo.show(); } public void main(String[] args) { show(); }你看看清楚哦,main方法应该是static的,你这个main()不是程序要找的入口点哦,另外static方法中不能访问非静态成员的,必须通过实例.非静态成员才行哦 Patrick_DK(疾风摩郎) 谢谢你啊,我又看了一下书,大致明白了:) "Static method are not allowed to use the non-static feature of their class"----Complete Java 2 Certification Study Guide 我的qq 是888669,初学java,希望能和大家交朋友 to totodo(小土豆仙) :你找本入门级的书,好好看看语法基础和OO的基本思想,呵呵大家一起进步 static方法不能直接访问非静态的成员变量以及成员函数, 因为不能保证该类已创建实例。OSDemo o = new OSDemo();o.show() 哎呀,怎么这么快就解决了,看题目时我还偷着乐呢,sign~ jacob1(东南西北) :还没解决呢。我还有好多问题想问的:)还有机会:) 需要static 方法show已经为Frame的static 方法,且不能覆盖,所以新建一个方法show1改为import java.awt.*;//import java.awt.event;import java.applet.*;class OSDemo extends Frame{ public OSDemo(String strTitle) { super(strTitle); MenuBar mnuMenuBar=new MenuBar(); this.setMenuBar(mnuMenuBar); Menu mnuSet=new Menu("操作"); MenuItem mnuCreate=new MenuItem("创建"); MenuItem mnuDestory=new MenuItem("销毁"); MenuItem mnuSleep= new MenuItem("阻塞"); MenuItem mnuCall=new MenuItem("唤醒"); mnuSet.add(mnuSet); mnuSet.add(mnuCreate); mnuSet.add(mnuDestory); mnuSet.add(mnuSleep); mnuSet.add(mnuCall); mnuMenuBar.add(mnuSet); } public static void show1() { OSDemo frmOSDemo=new OSDemo("操作系统"); frmOSDemo.pack(); frmOSDemo.show(); } public void main(String[] args) { show1(); }} 阅!---------------[email protected] 嘿嘿……我也晚来了一步,不过要分可能还来的急吧!:)totodo (小土豆仙) :你进步很快哦! ilka() 谢谢你回复。按照你这样改写程序依然无法执行( 只是编译通过)后来我改成这样就可以了。import java.awt.*;//import java.awt.event;import java.applet.*;class OSDemo extends Frame{ public OSDemo(String strTitle) { super(strTitle); MenuBar mnuMenuBar=new MenuBar(); this.setMenuBar(mnuMenuBar); Menu mnuSet=new Menu("快接操作"); MenuItem mnuCreate=new MenuItem("创建"); MenuItem mnuDestory=new MenuItem("销毁"); MenuItem mnuSleep= new MenuItem("阻塞"); MenuItem mnuCall=new MenuItem("唤醒"); mnuSet.add(mnuSet); mnuSet.add(mnuCreate); mnuSet.add(mnuDestory); mnuSet.add(mnuSleep); mnuSet.add(mnuCall); mnuMenuBar.add(mnuSet); } public void show1(OSDemo frm) { //OSDemo frmOSDemo=new OSDemo("操作系统"); frm.pack(); frm.show(); } public static void main(String[] args) { OSDemo frm=new OSDemo("test"); frm.show1(frm); }}谢谢大家的回贴 ,我对java的API 还有OO 都了解还不够,给大家添麻烦了。 UP————————————————————————————————— ____()() / @@ `~~~~~\_;m__m._>o -------大米在哪里?大米在哪里?? 呵呵 ,我学c ,c#,又改学java, 不知道深入哪个? 我觉得java很好, 有点郁闷的就是,基础学完了不知道干什么 , 哎,让人笑掉大牙 ! 所以兄弟们 多多指教啦! "油箱 "[email protected] :0 恭喜发财 其实你的问题的关键在于,你应该将含有要运行的main方法的类定义为public也即你应该用:public class OSDemo extends Frame{}来声明,但如果你不想实例化就运行的话你,不能在main方法中使用静态方法;OK! 我也是刚学java不久,大家可以互相帮助一下,是朋友的请加入QQ:3692925谢谢! 回复人: jclch(攀登者) ( ) 信誉:100 is right lai na feng le hehe 如何让JTree和JComboBox透明 异常问题求助 一个根据xml定义,匹配xml树问题? 用于用List.toArray()返回Object[]数组并强制转换的问题。 【调查】你支持Java文档中文化吗? 有必要问吗? 哪里可以下载 侯杰 翻译的 Java 编程思想? Java和C++我的一点感觉 谁有jdk的帮助呀?或是我该在哪里下载? 如何得到一个客户端所用的代理服务器的地址? 我是一个菜鸟,请问各位高手,怎么配置java编译环境 走过不如路过:高分求助 数据库存储的小问题!
{
OSDemo frmOSDemo=new OSDemo("操作系统");
frmOSDemo.pack();
frmOSDemo.show();
} public void main(String[] args)
{
show();
}你看看清楚哦,main方法应该是static的,你这个main()不是程序要找的入口点哦,另外static方法中不能访问非静态成员的,必须通过实例.非静态成员才行哦
o.show()
还没解决呢。我还有好多问题想问的:)还有机会:)
show已经为Frame的static 方法,且不能覆盖,所以新建一个方法show1改为
import java.awt.*;
//import java.awt.event;
import java.applet.*;
class OSDemo extends Frame
{
public OSDemo(String strTitle)
{
super(strTitle);
MenuBar mnuMenuBar=new MenuBar();
this.setMenuBar(mnuMenuBar); Menu mnuSet=new Menu("操作");
MenuItem mnuCreate=new MenuItem("创建");
MenuItem mnuDestory=new MenuItem("销毁");
MenuItem mnuSleep= new MenuItem("阻塞");
MenuItem mnuCall=new MenuItem("唤醒"); mnuSet.add(mnuSet);
mnuSet.add(mnuCreate);
mnuSet.add(mnuDestory);
mnuSet.add(mnuSleep);
mnuSet.add(mnuCall);
mnuMenuBar.add(mnuSet);
}
public static void show1()
{
OSDemo frmOSDemo=new OSDemo("操作系统");
frmOSDemo.pack();
frmOSDemo.show();
} public void main(String[] args)
{
show1();
}
}
[email protected]
我也晚来了一步,不过要分可能还来的急吧!
:)
totodo (小土豆仙) :你进步很快哦!
后来我改成这样就可以了。
import java.awt.*;
//import java.awt.event;
import java.applet.*;
class OSDemo extends Frame
{
public OSDemo(String strTitle)
{
super(strTitle);
MenuBar mnuMenuBar=new MenuBar();
this.setMenuBar(mnuMenuBar); Menu mnuSet=new Menu("快接操作");
MenuItem mnuCreate=new MenuItem("创建");
MenuItem mnuDestory=new MenuItem("销毁");
MenuItem mnuSleep= new MenuItem("阻塞");
MenuItem mnuCall=new MenuItem("唤醒"); mnuSet.add(mnuSet);
mnuSet.add(mnuCreate);
mnuSet.add(mnuDestory);
mnuSet.add(mnuSleep);
mnuSet.add(mnuCall);
mnuMenuBar.add(mnuSet);
}
public void show1(OSDemo frm)
{
//OSDemo frmOSDemo=new OSDemo("操作系统");
frm.pack();
frm.show();
} public static void main(String[] args)
{
OSDemo frm=new OSDemo("test");
frm.show1(frm);
}
}
谢谢大家的回贴 ,我对java的API 还有OO 都了解还不够,给大家添麻烦了。
—————————————————————————————————
____()()
/ @@
`~~~~~\_;m__m._>o -------大米在哪里?大米在哪里??
我觉得java很好, 有点郁闷的就是,基础学完了不知道干什么 ,
哎,让人笑掉大牙 ! 所以兄弟们 多多指教啦!
"油箱 "[email protected] :0
恭喜发财
也即你应该用:
public class OSDemo extends Frame{}来声明,但如果你不想实例化就运行的话你,不能在main方法中使用静态方法;OK!
谢谢!
hehe