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);
    }
    }

  • 相关阅读:
    Android自定义权限和使用权限
    SendInput模拟Win(VK_LWIN)键的问题
    难以置信,根本就没拖延症!
    Android RecyclerView单击、长按事件:基于OnItemTouchListener +GestureDetector标准实现(二),封装抽取成通用工具类
    Android RecyclerView单击、长按事件标准实现:基于OnItemTouchListener + GestureDetector
    Android ViewPager Fragment使用懒加载提升性能
    Android快捷便利但不常被使用的原生工具类
    Android TextView图文混合编排
    JQuery中$.ajax()方法参数详解 及 async属性说明
    jQuery.ajaxComplete() 函数详解
  • 原文地址:https://www.cnblogs.com/kaikailele/p/3917684.html
Copyright © 2011-2022 走看看