zoukankan      html  css  js  c++  java
  • Java的main函数使用小记

    转自:http://blog.csdn.net/qdieyou/article/details/1490618

    ————————————————————————————————

    main函数的完整定义语法为public static void main(String[] args)

    main方法是个特殊的方法,它是主程序访问的入口点,可以使用public、默认(即什么都不写)、protected、private进行修饰,并且不会出现运行期错误。

    其中,public不是 必须的,声明为public是为了main方法可以从任意一个Java运行环境中调用。但是static是必须的,这样可以在不需要构造类实例的前提下,直接运行应用程序。

    main方法没有返回值,返回值声明必须为void,而不能没有定义或定义为其他类型。

    例题1:

    以下哪些是main方法的正确形式?

    (1)static void main(String[] args){}

    (2)public static void main(String[] args){}

    (3)public static void main(String args[]){}

    (4)public static void main(String door[]){]

    答案:1,2,3,4

    以下文件“TestMain.java”

    //测试main函数的写法
    public class TestMain{
     
     /*
     public static void main(String[] args){//可以通过编译,而且能运行
      System.out.println("test ok!");
     }
     */
     
     /*
     static public void main(String[] args){//可以通过编译,而且能运行
      System.out.println("test ok!");
     }
     */
     
     /*
     static void main(String[] args){//可以通过编译,但不能运行,提示:Main method not public
      System.out.println("test ok!");
     }
     */
     
     /*
     public static void main(String args){//可以通过编译,但不能运行
      System.out.println("test ok!");
     }
     */
     
     /*
     public void main(String[] args){//可以过编译,不可运行,因为static修饰符是必须的。
      System.out.println("test ok!");
     }
     */
     
     /*
     void main(String[] args){//可以通过编译,不可运行
      System.out.println("test ok!");
     }
     */
     
     public static void main(String[] args){
      System.out.println(args.length);
      //System.out.println(args[2]);//命令行上输入java TestMain,则args[2]不存在,故有异常,不能正常运行
     }

    终结:main函数必须是public、static、void的,而且参数必须为String类型的数组,这里顺序可以改变,变量名称可以改变。缺少的情况下编译可能通过,但是运行是不能通过。

    附上自己检验代码


    public class Test1 {
    /**
    * 可编译,但不能运行
    */
    public static void main() {
    System.out.println("123");
    }
    /**
    * 可以正常运行
    * @param string
    */
    /* public static void main(String[] string) {
    System.out.println("123");
    }*/
    /**
    * 可编译,但不能运行
    * @param args
    */
    public static void main(String args) {
    System.out.println("123");
    }
    /**
    * 不能编译,返回值必须void
    * @param args
    * @return
    */
    /* static public int main(String[] args){

    }*/

    /**
    * 可编译,但不能运行
    */
    static void main(String[] args){
    System.out.println(123);
    }
    }

  • 相关阅读:
    lab4:VGG16 及 如何把c的for转成verliog状态机
    pl向ps传输8位数据:axi-lite
    lab3:LeNet上板
    UVALive5902:Movie collection
    UVa11069:A Graph Problem
    UVa10323:Factorial! You Must be Kidding!!!
    UVa10220:I Love Big Numbers !
    UVa623:500!
    UVa568:Just the Facts
    UVa11549:Calculator Conundrum
  • 原文地址:https://www.cnblogs.com/kaikailele/p/3917684.html
Copyright © 2011-2022 走看看