Java千百问_03基础语法(016)_main方法是什么
来源:互联网 发布:矩阵乘法计算公式 编辑:程序博客网 时间:2024/04/30 16:30
点击进入_更多_Java千百问
1、main方法是什么
某个类中有main()方法,说明这是一个java应用程序,可以直接启动运行的程序(操作系统中安装了jdk或者jre)。任何一个非抽象类/接口都可以添加main()方法。
了解抽象类、接口看这里:接口和抽象类有什么区别
在java的规范中,main()方法的声明为:
public static void main(String args[]){}
当通过java运行工具运行某个类时:java 类名,jre会运行类中的main()方法。在运行这个Java应用程序的时候,首先会调用main方法,由于main方法是public static,所以调用时不实例化这个类的对象,而是通过类名直接调用。
了解public、private看这里:public、privite、protected有什么区别
对于main有以下几点需要注意:
对于java中的main方法,由于规范中main的返回值类型为void,所以main方法不能有返回值。
main方法的输入参数,类型为String[],规范中main()方法中必须有一个入参String[],当然参数的名字是可以自己设定的。根据习惯,这个字符串数组的名字一般和规范范例中mian参数名保持一致,取名为args。
main(String[] args)方法的参数args可以在运行时指定,例如:java TestMain 1 2 3,则args为[1,2,3]。
main方法中可以通过throws Exception声明抛出异常,如果发生异常,则会直接抛在运行工具中(运行工具一般会将错误日志打印到console)。
带有main方法的类同普通类一样,执行main之前也会先执行类的静态代码块static{}。
结合以上几点的一个例子:
public class TestMain { static { System.out.println("Hello Wordld"); } public static void main(String[] args) throws Exception { if (args.length > 0) { for (String arg : args) { System.out.println("args:" + arg); } } if (args.length <= 0) { throw new Exception("Exception"); } }}
执行“java TestMain”结果如下:
Hello Wordld
Exception in thread “main” java.lang.Exception: Exception
at com.test.TestMain.main(TestMain.java:16)
执行“java TestMain 1 2 3”结果如下:
Hello Wordld
args:1
args:2
args:3
- Java千百问_03基础语法(016)_main方法是什么
- Java千百问_03基础语法(018)_注释是什么
- Java千百问_03基础语法(019)_注解是什么
- Java千百问_03基础语法(022)_元注解是什么
- Java千百问_03基础语法(012)_transient关键字有什么用
- Java千百问_03基础语法(013)_>、>>、>>>有什么区别
- Java千百问_03基础语法(014)_volatile关键字有什么用
- Java千百问_03基础语法(015)_System.exit(0)有什么用
- Java千百问_03基础语法(017)_static有什么用
- Java千百问_03基础语法(020)_注解、注释有什么区别
- Java千百问_03基础语法(021)_如何自定义注解
- Java千百问_03基本语法(002)_java都有哪些关键字
- Java千百问_03基本语法(003)_public、privite、protected有什么区别
- Java千百问_03基本语法(004)_java中的运算符都有哪些
- Java千百问_03基本语法(005)_二进制是怎样做位运算的
- Java千百问_03基本语法(006)_java运算符的优先级是怎样的
- Java千百问_03基本语法(007)_if else如何使用
- Java千百问_03基本语法(008)_switch如何使用
- java中的Lock和tryLock方法的详解
- Web开发之初体验
- mybatis配置文件
- 理解 Cinder 架构 - 每天5分钟玩转 OpenStack(45)
- 在锁中使用多条件Condition
- Java千百问_03基础语法(016)_main方法是什么
- Bulls and Cows
- 计蒜之道 青云的机房组网方案(中等)
- AsyncTask的使用
- Opensips 进程结构
- 第15课:Spark Streaming源码解读之No Receivers彻底思考
- 什么是线程执行器Executor
- 318. Maximum Product of Word Lengths
- 【连载】大话系统架构决策 - 伸缩性