Java main()方法
下面先来看最简单的一个 Java 应用程序 HelloWorld,我们将通过这个例子讲解 Java 类中 main() 方法的奥秘,程序的代码如下:
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
其中,使用 main() 方法时应该注意如下几点:
- 访问控制权限是公有的(public)。
- main() 方法是静态的。如果要在 main() 方法中调用本类中的其他方法,则该方法也必须是静态的,否则需要先创建本类的实例对象,然后再通过对象调用成员方法。
- main() 方法没有返回值,只能使用 void。
main() 方法具有一个字符串数组参数,用来接收执行 Java 程序的令行参数。令行参数作为字符串,按照顺序依次对应字符串数组中的元素。
字符串中数组的名字(代码中的 args)可以任意设置,但是根据习惯,这个字符串数组的名字一般和 Java 规范范例中 main() 参数名保持一致,名为 args,而方法中的其他内容都是固定不变的。
- main() 方法定义必须是“public static void main(String[] 字符串数组参数名)”。
- 一个类只能有一个 main() 方法,这是一个常用于对类进行单元测试(对软件中的最小可测试单元进行检查和验证)的技巧。
下面的示例代码演示了如何在 main() 方法中调用本类的静态和非静态方法。
由上面代码可以看出,在 main() 方法中只能直接调用静态方法,如果想调用非静态方法,需要将当前类实例化,然后通过类的对象来调用。public class Student {
public void Speak1() {
System.out.println("你好!");
}
public static void Speak2() {
System.out.println("Java!");
}
public static void main(String[] args) {
// Speak1(); // 错误调用
Speak2(); // 可以直接调用静态方法Speak2()
Student t = new Student();
t.Speak1(); // 调用非静态方法,需要通过类的对象来调用
}
}
例 1
创建一个 Java 程序,编写代码实现程序执行时统计传递参数的数量及每个参数值。示例代码如下:
public class TestMain {
public static void main(String[] args) {
int n = args.length; // 获取参数数量
System.out.println("一共有 "+n+" 个参数");
if(n > 0) {
// 判断参数个数是否大于0
for(int i = 0;i < n;i++) {
System.out.println(args[i]);
}
}
}
}
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() 方法可以以字符串的形式接收令行参数,然后在方法体内进行处理。
- 随机文章
- 印度 马尔代夫 地图(印度与马尔代夫地图重合,引发政治纠纷。)
- 春节 马尔代夫 2014(马尔代夫迎来2014年春节假期)
- 马尔代夫有钱(马尔代夫的富裕生活)
- 安顺 马尔代夫(安顺出发,探寻马尔代夫风光)
- 文化熏陶马尔代夫(文化之旅,探寻马尔代夫的历史和传统)
- 上海马尔代夫门票(上海马尔代夫景区门票价格及预订攻略)
- 八月 马尔代夫(马尔代夫旅游季节:八月小清新)
- 安阳马尔代夫潜水(潜入马尔代夫:探索安阳神秘海底世界)
- 株洲马尔代夫视频(株洲游客马尔代夫拍下美景,惊艳全网)
- 日本马尔代夫机票(日本前往马尔代夫的机票现已开启预订)
- 涿州李池马尔代夫(涿州富豪李池开启马尔代夫财阀新篇章)
- 烟台马尔代夫旅游(烟台市民热爱的短途旅游地:马尔代夫)
- 澳洲女孩马尔代夫(澳洲年轻女子在马尔代夫度假期间失踪)
- 直飞马尔代夫仪式(直达马尔代夫:您的奢华之旅开始啦!)
- 美国统治马尔代夫(美国施压下,马尔代夫被迫接受统治?)
- 范志毅对马尔代夫(范志毅:马尔代夫没沙滩,不值得去!)
- 漳州马尔代夫海景(漳州湾畔享受马尔代夫海景奢华度假村)
- 澳门 马尔代夫(后的:两个亚洲旅游胜地:澳门 vs. 马尔代夫)
- 马尔代夫专业摄影(马尔代夫专业摄影:记录梦幻海底世界)
- 马尔代夫之旅作文(美丽马尔代夫之旅:海滩、美食与浮潜)
- 蜜月马尔代夫酒店(浪漫蜜月:探索马尔代夫豪华度假酒店)
- 韩国马尔代夫旅游(韩国游客喜爱的度假胜地——马尔代夫)
- 马尔代夫万豪酒店(马尔代夫万豪酒店:您度假的理想选择)
- 马尔代夫先沙后水(从干旱到湛蓝,马尔代夫先沙后水之美)
- 马尔代夫动物图片(令人惊叹!马尔代夫奇特动物画面欣赏)
- 马尔代夫为啥访华(马尔代夫频繁访华,中马关系更加紧密)
- 马尔代夫印度富豪(印度亿万富豪在马尔代夫豪宅举行婚礼)
- 马尔代夫印度雷达(马尔代夫安装印度雷达,提升海上安全)
- 马尔代夫双人价格(马尔代夫双人游优惠价格,快来享受!)
- 长宁马尔代夫公寓(:长宁楼房坍塌事故中的马尔代夫公寓)
