首页 > 编程语言 >Java 程序的组织结构

Java 程序的组织结构

时间:2024-12-06 23:54:14浏览次数:7  
标签:Java 组织 程序 class 源文件 main 方法 public

源文件的基本组成是类. 类是所有 Java 程序的构建模块, Java 程序中的所有内容都必须放在类中. 类中可以有一个或多个方法, 方法必须在类的内部声明.

Java 程序的执行入口是 main() 方法, 有固定的书写格式:

public static void main(String[] args){
}

一个源文件可以有多个类, 每次编译完, 每一个类都会生成一个对应的基本名与类名相同的 .class 文件.

源文件的基本组成是类. 类是所有 Java 程序的构建模块, Java 程序中的所有内容都必须放在类中. 类中可以有一个或多个方法, 方法必须在类的内部声明.

Java 程序的执行入口是 main() 方法, 有固定的书写格式:

public static void main(String[] args){
}

一个源文件可以有多个类, 每次编译完, 每一个类都会生成一个对应的基本名与类名相同的 .class 文件.

如果源文件包含一个 public 类, 则该源文件必须按该类命名.

一个源文件中最多只能有一个 public 类 ,也叫公共类或主类, 也可以没有, 其它类的个数不限, 也可以将 main() 方法写在非 public 类中, 然后指定运行非 public 类, 这样入口方法就是非 public 类的 main() 方法.

不论是 public 类还是非 public 类, 一个类只能有一个 main() 方法, 一个源文件可以有多个类, 每一个类都可以有一个 main() 方法, 因此一个源文件可以有多个 main() 方法.

public 类叫做公共类, main() 方法叫做主方法.

程序示例:

public class Hello {
    // 编写一个主方法, 即 main() 方法
    public static void main(String[] args) {
        System.out.println("Hello World");
        System.out.println("Xiao Cheng is studying Java.");
    }
}

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

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

此处的源文件名取为 Hello.java, 编译之前文件夹的内容:


图1 编译之前文件夹的内容

在这里, 一个源文件内包含了三个类.

编译之后文件夹的内容:


图2 编译之后文件夹的内容

以不同的类作为主类来运行程序:


图3 以不同的类作为主类来运行程序

java 命令后面跟随这 class 文件的文件名, 表示执行的是哪一个 class 文件.

标签:Java,组织,程序,class,源文件,main,方法,public
From: https://www.cnblogs.com/Chengkai730/p/18591614

相关文章

  • Java 的发展历程
    图1图22004年发布Java5.0,2014年发布Java8,从Java9开始每6个月发布一次Java.其实,从Java6开始及之后,版本号就是整数,如Java6而不是Java6.0,上面的图片略有错误.普通版本,也叫过渡版本.正式版本,也叫长期支持版本(LTS).Java版本向......
  • 让头发掉光成为最强程序员之文件操作(1)
    今日思想:保持沉默的代价:是无尽的孤独,是自我消解的痛苦一、文件        文件:磁盘或者硬盘上的就是文件。二、文件分类 三、文件的打开(fopen)和关闭(fclose)1、流流:对电脑的各种设备进行操作。2、标准流C语言在启动的时候默认打开三个流:①stdin(标准输入流):从......
  • springboot毕设 社区疫情防控登记信息系统 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着全球疫情的持续演变,社区作为疫情防控的第一线,其管理效率与精准度直接关系到疫情控制的成效。传统的人工登记、信息统计方式不仅耗时费力,而且容易......
  • SpringMVC启动报错“java.lang.ClassNotFoundException: org.springframework.web. se
    目录找到原因 解决步骤成功解决 总结今天在整合ssm的时候,启动项目时,发现输入url进不到controller里面,在tomcat日志中看见了这样的报错java.lang.ClassNotFoundException:org.springframework.web.servlet.DispatcherServlet atorg.apache.catalina.loader.Weba......
  • Java中的深拷贝和浅拷贝
    在Java中,浅拷贝(ShallowCopy)和深拷贝(DeepCopy)是两种不同的对象复制方式。它们在处理对象内部引用类型的属性时表现不同。以下是对这两种拷贝方式的详细解释,并附有相应的代码示例。 浅拷贝(ShallowCopy) 定义浅拷贝会创建一个新对象,但对于对象内部的引用类型属性,仍然复制其......
  • 2024-2025-1 20241305 《计算机基础与程序设计》第十一周学习总结
    作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP))这个作业要求在哪里2024-2025-1计算机基础与程序设计第十一周作业这个作业的目标1、计算机网络2、网络拓扑3、云计算4、网络安全5、Web6、H......
  • node.js毕设网上求职招聘系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于网上求职招聘系统的研究,现有研究主要以线下招聘流程的数字化转换为主,专门针对网上求职招聘系统全面功能优化、用户体验提升以及数据安全性保障等方......
  • node.js毕设网上人才招聘系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于人才招聘系统的研究,现有研究主要以传统招聘模式或线下招聘流程为主,专门针对网上人才招聘系统的全面研究较少。在国内外,传统招聘方式一直占据着重要......
  • JavaSwing JSlider
    try{BeautyEyeLNFHelper.frameBorderStyle=BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated;//UIManager.put("RootPane.setupButtonVisible",false);org.jb2011.lnf.beautyeye.BeautyEyeLNFHelpe......
  • 树莓派通过终端和mydesktop文件实现py文件开机自启动程序方法(包括图形化界面)
    先说问题,在网上找的许多开机自启动方法都无法很好地让我实现python文件开机自启动,要么是完全没有用要么是只能执行部分,对于我设计的tkinter界面是无法打开的。my.desktop文件无法打开图像化界面,.bashrc文件只能在界面出来前启动,估计开机后被吞了。我的方法是通过my.desktop文......