前端视角 Java Web 入门手册 1.3:Java 世界的规则

基础规则

这是一个最简单的 Java 应用程序,存储在 Welcome.java文件中

java 复制代码
public class Welcome {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

JavaScript 的规则相对松散,而 Java 程序有几个需要遵守的规则

  • 源代码文件名和 public 类名保持一致,这也就意味着一个文件内只能有一个 public 类名
  • 源代码文件使用 .java作为拓展名
  • 类名必须以大写字母开头,且只能包含字母、数字、下划线和美元符号,不能使用 Java 的关键字
  • 包名是用来组织和管理 Java 类的一种机制,必须以小写字母开头,且只能包含小写字母、数字和点号
  • 方法名必须以小写字母开头,且只能包含字母、数字和下划线
  • Java 程序必须包含一个main方法,作为程序的入口点,方法签名必须是 public static void main(String[] args)

代码组织

Java 的代码组织主要通过包(Package)和类(Class)实现。包是一组相关的类和接口的集合,它们被组织在一个统一的命名空间下,以便更好地管理和组织。类是 Java 中最基本的代码单元,它定义了对象的属性和行为。

使用 package关键字声明包,一般包名中的英文单词全部使用小写

java 复制代码
// 声明包
package com.example;

public class Test {
    
}

Java 中的包命名规则遵循反转的 Internet 域名规则,也就是说包名应该从上到下按照域名的层次结构来命名,每个层次结构使用小写字母。在阿里巴巴开发一个 TestProject 的项目,包名可能是 com.alibaba.testproject

使用 import关键字引入其它包内的类与接口,以便在当前类中使用,Java import 无法给引入对象设置别名,多个类名重复时需要使用完整路径

java 复制代码
// 引入类
import com.package.Test;

Java 类一般都有 public、protected、private 等访问限制符修饰,不加任何访问限制符默认为可以被同一个包内的类访问

编译 & 运行

Java 代码需要编译后运行,javac是 Java 编译器的命令行工具

bash 复制代码
$ javac Welcome.java

如果编译成功,将会生成一个与 public 类名称相同、后缀名为 .class 的字节码文件 Welcome.class,使用 Java 命令运行可以在控制台输出程序结果

bash 复制代码
$ java Welcome

Java 代码编写完成后,需要经过编译器生成对应的字节码文件,而 Java 虚拟机(JVM)则负责解释执行这些字节码文件。由于 Java 虚拟机的存在,Java 程序可以跨平台运行、在不同的操作系统上运行相同的 Java 程序

另外 Java 虚拟机还提供了一些高级功能,例如利用即时编译器在运行时将热点代码编译成本地机器码,提高程序的执行效率;提供Java调试器接口(Java Debug Interface),方便开发人员进行调试等

打包

Java 程序发布通常需要打包为 jar(Java ARchive)格式,内部可以包含 Java 字节码文件、配置文件、图片等资源文件

bash 复制代码
$ jar -cvf jar文件名.jar 需要打包的文件或文件夹
  • -c:创建 jar 文件
  • -v:在控制台输出打包过程
  • -f:指定 jar 文件名称

在一般情况下打包、解压 jar 文件会通过 Eclipse、IntelliJ IDEA 等集成开发环境完成,打包完成后就可以把 jar 文件发布到 Maven、Gradle 了

相关推荐
未来影子1 分钟前
SAA Graph的流式机制
后端
程序员小假9 分钟前
我们来说一说 ConcurrentHashMap 是如何保证线程安全的?
后端
AAA修煤气灶刘哥9 分钟前
微信小程序+Spring Boot:三步教你搞定微信小程序登录+Token加密+全局拦截器
spring boot·后端·微信小程序
哈哈哼嘿13 分钟前
C语言:函数 指针
后端
NightDW13 分钟前
连续周更任务模块的设计与实现
java·后端·mysql
华仔啊15 分钟前
什么情况下用线程池,怎么用?看完就会
java·后端
程序员爱钓鱼16 分钟前
Go语言实战案例-使用SQLite实现本地存储
后端·google·go
_風箏17 分钟前
Nessus【部署 01】Linux环境部署漏洞扫描工具Nessus最新版详细过程分享(下载+安装+注册+激活)
后端
xcya17 分钟前
MySQL深分页慢问题及性能优化
后端