Java中main()方法以及命令行参数的若干注意
2008-11-16 17:11
260 查看
main方法的完整定义语法:public static void main(String[] args){}
命令行格式:java [命令参数] 文件名 [args[0](用户参数) args[1] ... 比如 java - cs AClass a b c<enter>
1. 关于main()方法中的修饰符public
java虚拟机规范并没有要求main一定是public的,所以public可以省略,它只是为了main()方法可以从任意一个java运行环境中调用。不过没有public 虽然编译无错误,但是虚拟机无法启动应用程序。
2. 关于main()方法中的关键字static
静态方法不能访问实例字段。但可访问自身类中的静态字段。
main方法是且必须是一个静态方法,所以static 必须写。为了不需要构造类实例。如果没有static,运行时出错。
3 . main()方法的返回类型和返回值
main(String[] arg)如果不写void会有编译错误
如果不写static和[]会有运行错误
main()方法并不向操作系统返回“退出代码”。java中,如果main方法正常退出,Java程序的退出代码为0,表示成功地实行完毕程序。若要用不同的退出代码终止程序,则使用System.exit方法。
因为main()方法是可以重载的,所以返回类型可以void ,int ,boolean... 但如果从应用程序的入口main()方法的角度看,则只能用void返回。
4. main()方法及命令行参数相联系的若干注意
当缺少String[]args时,虽然编译可以通过,但是运行时无法获取有效的main方法,运行时候会报错。其中方法参数名字args可以改变。
要知道知道String数组长度,可以直接用args.length即可。
当没有用户参数的时候,如果进行args[0]等的访问,会抛出一个数组越界异常。
如下操作,由于main()方法的参数类型正确,所以编译可以通过,但运行时会出错。
public class Test
{
public static void main(String argv)
{
System.out.println("hello cruel world");
}
}
如果超过边界访问args[],编译正常,运行出错。
如:
public class Test{
public static void main(String[] args){
String foo=args[1];
String bar=args[2];
String baz=args[3];
}
}
java Test Red Green Blue
what is the value of baz?
A. baz has value of ""
B. baz has value of null
C. baz has value of "Red"
D. baz has value of "Blue"
E. baz has value of "Green"
F. the code does not compile
G. the program throw an exception
Answer:G
5. main()方法只作为Java应用程序的入口。Applet程序不需要main()方法,一般由浏览器不同方式启动,其入口程序一般为init()方法。
6. main可作为普通方法名。
如:
public class Droitwich
{
class one
{
private class two
{
public void main() //注意这里的main方法
{
System.out.println("two");
}
}
}
}
显示:编译正常
命令行格式:java [命令参数] 文件名 [args[0](用户参数) args[1] ... 比如 java - cs AClass a b c<enter>
1. 关于main()方法中的修饰符public
java虚拟机规范并没有要求main一定是public的,所以public可以省略,它只是为了main()方法可以从任意一个java运行环境中调用。不过没有public 虽然编译无错误,但是虚拟机无法启动应用程序。
2. 关于main()方法中的关键字static
静态方法不能访问实例字段。但可访问自身类中的静态字段。
main方法是且必须是一个静态方法,所以static 必须写。为了不需要构造类实例。如果没有static,运行时出错。
3 . main()方法的返回类型和返回值
main(String[] arg)如果不写void会有编译错误
如果不写static和[]会有运行错误
main()方法并不向操作系统返回“退出代码”。java中,如果main方法正常退出,Java程序的退出代码为0,表示成功地实行完毕程序。若要用不同的退出代码终止程序,则使用System.exit方法。
因为main()方法是可以重载的,所以返回类型可以void ,int ,boolean... 但如果从应用程序的入口main()方法的角度看,则只能用void返回。
4. main()方法及命令行参数相联系的若干注意
当缺少String[]args时,虽然编译可以通过,但是运行时无法获取有效的main方法,运行时候会报错。其中方法参数名字args可以改变。
要知道知道String数组长度,可以直接用args.length即可。
当没有用户参数的时候,如果进行args[0]等的访问,会抛出一个数组越界异常。
如下操作,由于main()方法的参数类型正确,所以编译可以通过,但运行时会出错。
public class Test
{
public static void main(String argv)
{
System.out.println("hello cruel world");
}
}
如果超过边界访问args[],编译正常,运行出错。
如:
public class Test{
public static void main(String[] args){
String foo=args[1];
String bar=args[2];
String baz=args[3];
}
}
java Test Red Green Blue
what is the value of baz?
A. baz has value of ""
B. baz has value of null
C. baz has value of "Red"
D. baz has value of "Blue"
E. baz has value of "Green"
F. the code does not compile
G. the program throw an exception
Answer:G
5. main()方法只作为Java应用程序的入口。Applet程序不需要main()方法,一般由浏览器不同方式启动,其入口程序一般为init()方法。
6. main可作为普通方法名。
如:
public class Droitwich
{
class one
{
private class two
{
public void main() //注意这里的main方法
{
System.out.println("two");
}
}
}
}
显示:编译正常
相关文章推荐
- 关于java中main()方法以及命令行参数的若干注意
- Java中main()方法以及命令行参数的若干注意
- new与delete函数使用方法以及注意事项
- iPhone SDK中多线程的使用方法以及注意事项 转载
- Python序列之list和tuple常用方法以及注意事项
- solr配置的 时候的注意事项以及修改tomcat端口号的方法
- InnoDB 加载新的tablespace 的方法以及注意事项。
- 转载:六类布线安装方法要点以及注意的问题
- 我在安装TFS 2008的时候遇到的问题以及解决方法一安装TFS需要注意的地方
- Android BaseSavedState 以及 Activity onSaveInstanceState 和 onRestoreInstanceState 方法使用注意事项
- 跑马灯各种实现的方法,以及效果,注意事项
- 对List元素迭代删除的注意事项以及三个方法
- C#调用Matlab引擎详细方法以及注意事项
- RedHat下挂载光盘并配置本地源文件方法以及注意事项
- JSP中使用cookie的方法以及注意事项总结
- Axis生成wsdl的三种方法以及注意事项
- mysql通过my.cnf修改默认字符集为utf-8的方法以及注意事项
- 【转载】C#扫盲之:带你掌握C#的扩展方法、以及探讨扩展方法的本质、注意事项
- 机器学习中的特征选择的方法以及注意点
- xml Dom parser 读路径显示图片时应注意的问题以及firefox对空格、换行节点的处理方法