目录
深入理解 main 方法 public static void main(String[] args)
编辑示例代码:
编译运行(String[] args):
main 方法的注意事项
示例代码:
深入理解 main 方法 public static void main(String[] args)
- main 方法是Java虚拟机在调用
- Java 虚拟机需要调用类的 main() 方法,所以该方法的方法权限必须是 public (∵ 调用的时候 Java 虚拟机和 main 方法不在同一个类)
- Java 虚拟机执行 main 方法的时候不必创建对象 ∴该方法必须是 static
- main 方法接受 String 类型的数组参数,该数组中保存执行Java 命令时传递给所执行的类的参数
示例代码:
Test01.java
//package com.面向对象.Demo20;
public class Test01 {
/**
* main 主程序运行的入口
* 1.main java 虚拟机调用(java 运行在我们 安装的 虚拟机调用) HotSpot(TM)
* 2.java 虚拟机调用(类)Test01.main main访问权限 public
* 3.String[] args 方便开发者 在以后运行java程序时 注入参数 到 main 方法中
*
* @param args
*/
public static void main(String[] args) {
// static 修饰的成员方法、成员属性 静态的 成员方法、成员属性
/**
* static 类.访问
* 不需要 new 对象 直接 类.访问
*/
// String[] args 字符串数组
/**
* 前面使用的 编译运行命令
* javac Test01.java
* java Test01 参数1 参数2 参数3
* 然后就可以从控制台看到结果
*/
for (int i = 0; i < args.length; i++) {
System.out.println(i);
}
}
}
编译运行(String[] args):
idea如何设置main 注入参数
for (int i = 0; i < args.length; i++) {
// System.out.println(args[i]); // 使用javac编译
System.out.println("第" + (i + 1) + "参数:" + args[i]); //idea设置main注入参数
}
step1:先编译运行一下
step2:点击右上角的类名
step3:Program arguments
step4:可以在上面的输入款直接写,或者 右边的箭头点开 即可
step5:保存后 编译运行
main 方法的注意事项
- 可以直接访问本类的静态成员
- 访问本类的非静态成员,需要先创建对象,再调用即可。
示例代码:
Test01.java
package com.面向对象.Demo21;
public class Test01 {
/**
* main 方法加上 static 关键字修饰的
* 所以:
* 1.main 方法中是可以 直接调用到本类中 静态方法
* 2.main 方法 不能够直接调用非静态方法、访问非静态成员属性 必须通过 new对象 对象.访问。
*
* @param args
*/
private static int staticAge = 30;
private int age = 20;
public static void main(String[] args) {
// mian 方法调用 静态成员方法、静态属性
staticA(); // <=>Test01.staticA(); ∵ staticA()是在本类,∴ Test01. 可以省略
// B();//报错,静态方法 不可以访问非静态方法,
//必须先new对象 才可以调用 非静态方法。
Test01 test01 = new Test01();
test01.b();
System.out.println(staticAge);
// System.out.println(age);//报错,静态方法 不可以访问非静态属性,
System.out.println(test01.age);//必须先new对象 才可以调用 非静态属性。
}
public static void staticA() {
}
public void b() {
}
}
下一篇文章: