开锁换锁公司网站模板,可以做天猫代码的网站,为了找工作做的前端网站,中国机械加工网站官网2019独角兽企业重金招聘Python工程师标准 在一个Java应用程序中#xff0c;通常程序的入口是一个main方法#xff0c;它被声明为公有静态方法#xff0c;参数是一个字符串数组#xff0c;返回值为Void类型。这个方法有许多值得研究的地方#xff0c;今天就来… 2019独角兽企业重金招聘Python工程师标准 在一个Java应用程序中通常程序的入口是一个main方法它被声明为公有静态方法参数是一个字符串数组返回值为Void类型。这个方法有许多值得研究的地方今天就来浅显的测试一些用例看看main方法在不同情况下的表现。 一、main方法的第一个参数 public class TestMain{public static void main(String[] args){System.out.println(args[0]);}
}如上这段代码是最基本的Java类结构。在这个TestMain类中仅仅存在一个main方法main方法也只有一行代码打印字符串数组参数中的第一个参数。先看下运行结果 可以看出在Java中命令行传入的参数保存在main方法的参数args中。与C/C不同的是args中并不包含程序名称。 二、不提供参数的main方法 public class TestMain{public static void main(){System.out.println(Success!);}
}如上代码没有给main方法提供args参数。首先要关注的是这样一个程序是否能够编译通过其次才是它的运行结果。 显然没有字符串数组参数的main方法可以编译通过但在执行时却抛出了NoSuchMethodError异常提示找不到主方法。 三、私有的main方法 public class TestMain{private static void main(String[] args){System.out.println(Hello World!);}
}这段代码中main方法的修饰符改为了private即私有方法。来看下编译和运行结果 与无参的main方法一样 私有的main方法也可以编译通过同样在运行期抛出了NoSunchMenthodError异常。 四、非静态main方法 public class TestMain{public void main(String[] args){System.out.println(Hello World!);}
}非静态main方法是移除了main方法前的修饰符static后的方法首先看下编译和运行情况 同样的 没有static修饰的main方法也可以编译通过在运行期抛出了main方法不是类中的static方法错误。 五、返回类型为int的main方法 public class TestMain{public static int main(String[] args){System.out.println(Hello World!);return 0;}
}在C/C中main函数可以不指定返回类型也可以指定返回类型为void或int甚至推荐指定main函数的返回类型为int。如果在Java中指定main方法的返回类型为int结果会是怎么样的呢 很遗憾 在Java中main方法的返回类型必须为void其它返回类型都会导致编译后的程序在运行期抛出main方法返回类型必须为空类型的错误。 六、省略void的main方法 public class TestMain{public static main(String[] args){System.out.println(Hello World!);}
}C/C中main方法可以省略void如果在Java中也省略void结果又是怎么样的呢 可以看出 不提供void返回类型的main方法在编译期就抛出了方法声明无效需要返回类型的错误。 七、不带参数的命令行main方法的数组参数是null还是空数组 public class TestMain{public static void main(String[] args){String result null args ? NULL : (length of args is args.length);System.out.println(result);}
}上面这个测试中如果main方法的字符串数组参数args为null输出NULL否则就输出args的长度。 如上 main方法的字符串数组参数即使在命令行运行时没有传入参数也不会是null它会是一个长度为0的空数组。 版权声明本文为博主原创文章未经博主允许不得转载。 转载于:https://my.oschina.net/treenewbee/blog/489955