因为main是static的,他不能直接使用非static的对象当然可以在static方法的参数里加入非static的对象,就可以了

解决方案 »

  1.   

    楼上说的不错,你可以写成这样public class ExecuteClass{
          public static void main(String[] args)
        {
            MyFrame ExecuteWnd=new MyFrame();
            ExecuteWnd.setVisible(true);
        }
    }
      

  2.   

    老大,你能叫菜鸟吗?都开始Application了。现在的人都挺谦虚的嘛:)为何不把ExecuteWnd的申明和初始化都放在main里面呢?这样就不需要static了。
      

  3.   

    静态方法中不能调用非静态变量。最好是:
    public class ExecuteClass{
        
        public static void main(String[] args)
        {
          MyFrame ExecuteWnd=new MyFrame();
            ExecuteWnd.setVisible(true);
        }
    }STATIC会常住内存的。直到程序结束。
      

  4.   

    在static方法main中不能房问非static类变量.
      

  5.   

    我觉的用static方法不能调用非static方法这个说法是不是有些勉强,
    我记的在c++里面说过静态函数最好是调用静态的成员变量,因为类里
    面的静态成员是属于全体类的,可是并不禁止调用非静态的成员,难道
    JAVA有其它的说法吗?????
      

  6.   

    java编程思想 第4章 部分片段摘录2. static的含义
    理解了this关键字后,我们可更完整地理解static(静态)方法的含义。它意味着一个特定的方法没有this。我们不可从一个static方法内部发出对非static方法的调用(注释②),尽管反过来说是可以的。而且在没有任何对象的前提下,我们可针对类本身发出对一个static方法的调用。事实上,那正是static方法最基本的意义。它就好象我们创建一个全局函数的等价物(在C语言中)。除了全局函数不允许在Java中使用以外,若将一个static方法置入一个类的内部,它就可以访问其他static方法以及static字段。②:有可能发出这类调用的一种情况是我们将一个对象句柄传到static方法内部。随后,通过句柄(此时实际是this),我们可调用非static方法,并访问非static字段。但一般地,如果真的想要这样做,只要制作一个普通的、非static方法即可。