目录
深入理解 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);
- }
- }
- }

- 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:保存后 编译运行

- 可以直接访问本类的静态成员
- 访问本类的非静态成员,需要先创建对象,再调用即可。
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() {
- }
- }
下一篇文章: 多态