对Java程序main方法的一些思考

简介: 本文浅谈对Java程序main方法的一些思考

Java语言的HelloWrold是这样的:

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

只需要照搬这个结构,初学者就可以写出可执行的Java程序,尽管并不理解。

下面笔者将通过对该程序的剖析介绍Java的基础知识。

Java是一门面向对象的语言,因此类和对象是Java的最核心内容。通常,一个普通的Java类有如下结构:

[修饰符] class 类名 {
    // 零到多个类变量定义
    // 零到多个成员变量定义
    // 零到多个构造方法定义
    // 零到多个成员方法定义
    // 零到多个类方法定义
    // ...
}

修饰符可以是pubic、protected、private、abstract、final、static等,没有修饰符也可以。

定义方法的语法格式如下:

[修饰符] 方法返回值类型 方法名(形参列表) {
    // 方法体
}

修饰符可以是pubic、protected、private、abstract、final、static、synchronized等,没有修饰符也可以,也可以按规范使用多个修饰符。

main方法必须是public,这是为了能让JVM访问main方法,否则会不能运行。

方法用static修饰表示方法属于类而不属于对象。作为程序的入口,main方法必须是static的。如果main允许是非静态的,那么在调用main方法时,JVM就得实例化这个类;而在实例化这个类时,又要调用类的构造方法,如果这个类的构造方法有参数,就会出现歧义。

方法返回值可以是Java允许的任何数据类型,包括基本类型和引用类型,这时必须有return语句;也可以没有返回值,则返回值处用void声明,不能空缺。这是约定,不能是任何其他类型。

主函数的方法名为main是语法规定的,Java区分大小写,所以必须是小写的main。

参数String[] args通常用不到,用于获取命令行参数。由于是形参,所以String[]类型不能改,但args作为形参名,是可改的,不过一般按约定俗成的名称来。

由于是void修饰,所以不需要返回语句return,因此方法体甚至可以是空的。

本文首发于掘金,为博主本人创作,修改后搬运至阿里云开发者社区发表。

相关文章
|
1天前
|
Java
深入了解Java中的BigDecimal类及其方法
深入了解Java中的BigDecimal类及其方法
9 1
|
1天前
|
Java 编译器
Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数
Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数
5 1
|
1天前
|
安全 Java UED
深度解析Java中方法内的异步调用实践与应对方案
深度解析Java中方法内的异步调用实践与应对方案
8 1
|
1天前
|
监控 Java
优化Java应用的日志记录方法
优化Java应用的日志记录方法
|
1天前
|
设计模式 安全 Java
在Java中实现单例模式的正确方法
在Java中实现单例模式的正确方法
|
1天前
|
Java 编译器 索引
解决Java中的NoSuchElementException异常的常见方法
解决Java中的NoSuchElementException异常的常见方法
|
1天前
|
存储 缓存 安全
Java List操作详解及常用方法
Java List操作详解及常用方法
|
1天前
|
Java 数据安全/隐私保护
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
6 0
|
1天前
|
存储 Java
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
5 0
|
Java
JAVA-第一个java程序(main)
JAVA-第一个java程序(main) java-hello world package com.zhizhi; public class Main { public static void main(String[] args) { // write your code here System.
832 0