java基础(4)public class 和class的区别及注意事项

简介: 本文讲解了Java中`public class`与`class`的区别和注意事项。一个Java源文件中只能有一个`public class`,并且`public class`的类名必须与文件名相同。此外,可以有多个非`public`类。每个类都可以包含一个`main`方法,作为程序的入口点。文章还强调了编译Java文件生成`.class`文件的过程,以及如何使用`java`命令运行编译后的类。

首先先熟悉一下一个类的基本组成:

// 类名首字母大写
public class TestJava01 {
   
    /**
     * public 公共的 
     * static 静态的 
     * void 空 main 表示方法名 固定的 
     * (String[] args) 是一个main方法的形参
     * 每行代码写完 必须以分号;结尾
     */
    public static void main(String[] arg) {
   
        // 打印 字符串 必须用双引号 包裹
        System.out.println("这是我的第一个java文件");
        System.out.println("heoolword");
        // 不能写在类体里面
        System.out.println("zjq");
    }
}

新建一个问价K.java

在这个里面我们可以写多个类:

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

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

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

我们是使用javac对这个K.java文件进行编译:

javac K.java

在这里插入图片描述
完成编译后出现出现三个文件,分别是B.class、C.class、D.class;
这是三个编译好的类,我们直接运行B这个类

java B
在这里插入图片描述
成功的将B这个类中的System.out.println输出;其他两个类似;

在这里插入图片描述

public class:

一个java文件中只能有一个public class ,并且类名必须是文件的名字:
在这里插入图片描述
我们的源文件的名字是K,但是我们建立了一个F的public类,这样编辑器就开始提醒了,
只有这样才不会出现问题:

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

public类名和源文件名字一致;

注意事项:


 * 一个java源文件中可以定义多个class
 * 一个源文件中不一定有publicclasspublicclass不是必须的)
 * 一个class回生成对应的一个class编码文件
 * public class 类名必须和文件名字一致
 * 一个java源文件中定义公开的类的话,publicclass只能有一个,
 * 并且该类名名称必须和java源文件文件名称一致
 * 一个java文件中只能有一个public类,并且类名要和源文件的名字一样
 * 
 * 每一个class中都可以编写main方法,都是可以设定程序的入口,
 * 每一个类都需要有一个main方法 不然运行java B的时候会出现你没有入口函数的报错
目录
相关文章
|
8天前
|
安全 Java API
Java SE 与 Java EE 区别解析及应用场景对比
在Java编程世界中,Java SE(Java Standard Edition)和Java EE(Java Enterprise Edition)是两个重要的平台版本,它们各自有着独特的定位和应用场景。理解它们之间的差异,对于开发者选择合适的技术栈进行项目开发至关重要。
47 1
|
1月前
|
Java 测试技术
Java浮点类型详解:使用与区别
Java中的浮点类型主要包括float和double,它们在内存占用、精度范围和使用场景上有显著差异。float占用4字节,提供约6-7位有效数字;double占用8字节,提供约15-16位有效数字。float适合内存敏感或精度要求不高的场景,而double精度更高,是Java默认的浮点类型,推荐在大多数情况下使用。两者都存在精度限制,不能用于需要精确计算的金融领域。比较浮点数时应使用误差范围或BigDecimal类。科学计算和工程计算通常使用double,而金融计算应使用BigDecimal。
725 102
|
2月前
|
存储 缓存 人工智能
Java int和Integer的区别
本文介绍了Java中int与Integer的区别及==与equals的比较机制。Integer是int的包装类,支持null值。使用==比较时,int直接比较数值,而Integer比较对象地址;在-128至127范围内的Integer值可缓存,超出该范围或使用new创建时则返回不同对象。equals方法则始终比较实际数值。
104 0
|
2月前
|
安全 算法 Java
Java 中 synchronized 与 AtomicInteger 的区别
在Java多线程编程中,`synchronized`和`AtomicInteger`均用于实现线程安全,但原理与适用场景不同。`synchronized`是基于对象锁的同步机制,适用于复杂逻辑和多变量同步,如银行转账;而`AtomicInteger`采用CAS算法,适合单一变量的原子操作,例如计数器更新。二者各有优劣,应根据具体需求选择使用。
80 0
|
3月前
|
算法 Java 数据库连接
Java 与 C++ 区别深入剖析及应用实例详解
本文深入剖析了Java和C++两种编程语言的区别,从编译与执行机制、面向对象特性、数据类型与变量、内存管理、异常处理等方面进行对比,并结合游戏开发、企业级应用开发、操作系统与嵌入式开发等实际场景分析其特点。Java以跨平台性强、自动内存管理著称,适合企业级应用;C++则因高性能和对硬件的直接访问能力,在游戏引擎和嵌入式系统中占据优势。开发者可根据项目需求选择合适语言,提升开发效率与软件质量。附面试资料链接:[点此获取](https://pan.quark.cn/s/4459235fee85)。
279 0
|
8天前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
45 0
|
20天前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
53 16
|
29天前
|
缓存 并行计算 安全
关于Java多线程详解
本文深入讲解Java多线程编程,涵盖基础概念、线程创建与管理、同步机制、并发工具类、线程池、线程安全集合、实战案例及常见问题解决方案,助你掌握高性能并发编程技巧,应对多线程开发中的挑战。
|
1月前
|
数据采集 存储 前端开发
Java爬虫性能优化:多线程抓取JSP动态数据实践
Java爬虫性能优化:多线程抓取JSP动态数据实践