zoukankan      html  css  js  c++  java
  • 025:Java main方法

    Java main()方法

    (转自:http://c.biancheng.net/view/940.html

    1      Main方法

    概念:main() 方法是 Java 应用程序的入口方法,程序在运行的时候,第一个执行的方法就是 main() 方法。main() 方法和其他的方法有很大的不同。

    Java 应用程序 HelloWorld程序的代码如下:

    1. public class HelloWorld {
    2.     public static void main(String args[]) {
    3.         System.out.println("Hello World!");
    4.     }
    5. }

    其中,使用 main() 方法时应该注意如下几点:

    • 访问控制权限是公有的(public)。
    • main() 方法是静态的。如果要在 main() 方法中调用本类中的其他方法,则该方法也必须是静态的,否则需要先创建本类的实例对象,然后再通过对象调用成员方法。
    • main() 方法没有返回值,只能使用 void。
    • main() 方法具有一个字符串数组参数,用来接收执行 Java 程序的命令行参数。命令行参数作为字符串,按照顺序依次对应字符串数组中的元素。
    • 字符串中数组的名字(代码中的 args)可以任意设置,但是根据习惯,这个字符串数组的名字一般和 Java 规范范例中 main() 参数名保持一致,命名为 args,而方法中的其他内容都是固定不变的。
    • main() 方法定义必须是“public static void main(String[] 字符串数组参数名)”。
    • 一个类只能有一个 main() 方法,这是一个常用于对类进行单元测试(对软件中的最小可测试单元进行检查和验证)的技巧。

    2      Main方法中调用本类的静态方法和非静态方法

    1. public class Student {
    2.     public void Speak1() {
    3.         System.out.println("你好!");
    4.     }
    5.     public static void Speak2() {
    6.         System.out.println("Java!");
    7.     }
    8.     public static void main(String[] args) {
    9.         // Speak1();    // 错误调用
    10. 10.         Speak2();    // 可以直接调用静态方法Speak2()
    11. 11.         Student t = new Student();//先类的实例化
    12. 12.         t.Speak1();    // 调用非静态方法,然后需要通过类的对象来调用
    13. 13.     }

    14. }

    由上面代码可以看出,在 main() 方法中只能直接调用静态方法,如果想调用非静态方法,需要将当前类实例化,然后通过类的对象来调用。

    例 1

    创建一个 Java 程序,编写代码实现程序执行时统计传递参数的数量及每个参数值。示例代码如下:

    1. public class TestMain {
    2.     public static void main(String[] args) {
    3.         int n = args.length;    // 获取参数数量
    4.         System.out.println("一共有 "+n+" 个参数");
    5.         if(n > 0) {  
    6.             // 判断参数个数是否大于0
    7.             for(int i = 0;i < n;i++) {
    8.                 System.out.println(args[i]);
    9.             }
    10. 10.         }
    11. 11.     }

    12. }

    1)将代码保存到 TestMain.java 文件中(这里把 TestMain.java 文件放到了 D 盘的 myJava 文件夹),然后用如下 Java 命令对程序进行编译:

    javac TestMain.java

    2)程序编译成功后用如下 Java 命令执行 Test 程序:

    java TestMain 参数列表    // 多个之间用空格隔开

    这里使用如下三个语句执行程序:

    java TestMain

    java TestMain apple banana

    java TestMain one two three four five six

    3)执行结果如下所示:

    C:\Users\leovo>d:

     

    D:\myJava>javac TestMain.java

     

    D:\myJava>java TestMain

    一共有 0 个参数

     

    D:\myJava>java TestMain apple banana

    一共有 2 个参数

    apple

    banana

     

    D:\myJava>java TestMain one two three four five six

    一共有 6 个参数

    one

    two

    three

    four

    five

    six

     

    D:\myJava>

    由此可见,main() 方法可以以字符串的形式接收命令行参数,然后在方法体内进行处理。

    java语言中一切皆对象,所以main()方法同样也是存在于某一个类中的,一个类中有且只有一个,而且格式固定不变。

     

    本文来自博客园,作者:Jaoany,转载请注明原文链接:https://www.cnblogs.com/fanglijiao/p/15553862.html

  • 相关阅读:
    二分匹配最大匹配的理解(附图解)
    poj2060Taxi Cab Scheme(二分图匹配)
    codeforce Pashmak and Buses(dfs枚举)
    UVAoj 348
    poj2253 Frogger(最短路变型或者最小生成树)
    ZZUOJ1196: 单调数
    hdu3339 In Action(Dijkstra+01背包)
    ZZUOJ 1199 大小关系(拓扑排序,两种方法_判断入度和dfs回路判断)
    hdu 1241 Oil Deposits (一次dfs搞定有某有)
    POJ 2312Battle City(BFS-priority_queue 或者是建图spfa)
  • 原文地址:https://www.cnblogs.com/fanglijiao/p/15553862.html
Copyright © 2011-2022 走看看