前端视角 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 了

相关推荐
昔我往昔9 分钟前
除了GC哪些地方有用到安全点
java·jvm·安全
wxin_VXbishe10 分钟前
springboot旅游小程序-计算机毕业设计源码76696
java·spring boot·python·spring·django·sqlite·flask
我是Superman丶24 分钟前
【Lua】java 调用redis执行 lua脚本
java·开发语言·junit
素雪风华28 分钟前
构建RAG混合开发---PythonAI+JavaEE+Vue.js前端的实践
java·vue.js·python·ai·语言模型·llms·qwen千问大模型
zm37 分钟前
服务器连接多客户端
java·javascript·算法
Warren981 小时前
Java面试八股Spring篇(4500字)
java·开发语言·spring boot·后端·spring·面试
晚秋大魔王1 小时前
OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——gnutls
java·开发语言
胡子发芽1 小时前
面试题:请解释Java中的垃圾回收机制(Garbage Collection, GC),并讨论不同的垃圾回收算法及其优缺点
java·jvm
下雨天u2 小时前
maven dependencyManagement标签作用
java·数据库·maven
背帆2 小时前
go的interface接口底层实现
开发语言·后端·golang