java之main函数

1. 形式

Java里面的main函数形式如下:

public static void main(String[] args) {
	//your code
}

2. 解释

public: 权限修饰符,表明任何类和对象都可已访问它.
static: 表明其是静态方法, 即其的代码存储在静态存储区, 类加载之后, 便可通过类名.main()访问,不用实例化对象.
void: 函数的返回值为空.
args: 字符串数组, 名字可变.

3. 为什么是那样的写法

main: JVM识别的特殊方法名——程序入口方法.
public: JVM需要使用该类的方法,就必须设为public,否则是没办法访问该类的.
static: JVM加载类时, 没有实例化对象, 只能访问静态变量和方法.
void: 必须是这个,笔者不清楚这个是为什么.
args: 用以接收命令行参数,必须为String, 也可以是可变参数.

4. main小零碎

a. public static, 必须有,但是顺序无所谓, void必须跟着方法名.
b. 可以用final, synchronized修饰, 不能被abstract修饰.
c. String[] args 可换为 String … args

public static final void main(String[] args){}
static public void main(String[] args) {}
static public synchronized void main(String[] args) {}
public static void main(String ... args) {}

d. main能被重载.
e. 一个类文件里可以有多个main方法,因为一个文件可以放多个类.

5. 误区

main虽然是第一个被方法, 但不一定是首先被执行的语句. 如下代码片段说明:

public class Main() {

	static {
		for (int i = 0; i < 3; i++) {
			System.out.println("hello" + i);
		}
	}
	
	public static void main(String[] args) {
		System.out.println("hello");
	}
	
}
/**
* 输出如下:
* hello0
* hello1
* hello2
* hello
* 解释如下:
* Java先初始化静态属性, 在初始静态代码块, 然后初始普通的代码. 对于继承和实现,都是最后初始化自己,先初始继承的类和实现的接口.
*/
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值