小程序
public class F{
 public  void main(String args[]){
 int a=3;
 int i=a++;
  switch(i){
  case 1:System.out.println("we are 1");break;
  case 2:System.out.println("we are 2");break;
  case 3:System.out.println("we are 3");break;
  default:System.out.println("we are 1lass");break;
  } 
 }
}第一次在void前面没有敲static就编译后出现这样的情况:Exception in thread "main" java.lang.NoSuchMethod Error:main  想问下这是怎么回事,另外 有什么好一点的java书籍可以介绍下,恳请大虾指导

解决方案 »

  1.   

    如果楼主会C/C++,只要看一下JAVA.exe的源代码就明白了
    看完后还会对JNI有个了解.
      

  2.   

    执行程序只能有一个main 入口, 
    static 修饰的方法, 表示该方法是属于类的,而不属于实例。
    就是说,该方法并不需要传入this 对象的地址。这样,加载器才能找到这个入口。
    只能讲这么多了,你会慢慢体会到static 方法的含义的。
      

  3.   

    public static void main(String[] args)
    这是JAVA种固定的入口函数, 也就是说, 你如果要让JVM替你做事情, 得要这个函数.
    等你学了一定的基础, thinkingInJava这本书我看挺好的
      

  4.   

    你了解下static的用法。这个是静态的。在加载类的时候就完成了。要不然你执行的时候,JVM怎么找到程序的切入口呀。另外你它出现的Exception in thread "main" java.lang.NoSuchMethod Error:main这个是异常。main的问题。要学会看异常。。哈哈
      

  5.   

    public void main(String args[]){
    加static
    public static void main(String args[]){
      

  6.   

    来晚了
    没抢分的机会了哦
    LZ代码将执行
      System.out.println("we are 3");break;
    这一条
      

  7.   

    static void main连着用。
      

  8.   

    main 方法是 static 的,java就这么规定的,现在先记住这个就好了,以后慢慢就了解了