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的时候会出现你没有入口函数的报错
目录
相关文章
|
2月前
|
存储 缓存 人工智能
Java int和Integer的区别
本文介绍了Java中int与Integer的区别及==与equals的比较机制。Integer是int的包装类,支持null值。使用==比较时,int直接比较数值,而Integer比较对象地址;在-128至127范围内的Integer值可缓存,超出该范围或使用new创建时则返回不同对象。equals方法则始终比较实际数值。
|
14天前
|
Java 测试技术
Java浮点类型详解:使用与区别
Java中的浮点类型主要包括float和double,它们在内存占用、精度范围和使用场景上有显著差异。float占用4字节,提供约6-7位有效数字;double占用8字节,提供约15-16位有效数字。float适合内存敏感或精度要求不高的场景,而double精度更高,是Java默认的浮点类型,推荐在大多数情况下使用。两者都存在精度限制,不能用于需要精确计算的金融领域。比较浮点数时应使用误差范围或BigDecimal类。科学计算和工程计算通常使用double,而金融计算应使用BigDecimal。
193 6
|
2月前
|
安全 算法 Java
Java 中 synchronized 与 AtomicInteger 的区别
在Java多线程编程中,`synchronized`和`AtomicInteger`均用于实现线程安全,但原理与适用场景不同。`synchronized`是基于对象锁的同步机制,适用于复杂逻辑和多变量同步,如银行转账;而`AtomicInteger`采用CAS算法,适合单一变量的原子操作,例如计数器更新。二者各有优劣,应根据具体需求选择使用。
63 0
|
3月前
|
存储 Java C语言
Java List 复制:浅拷贝与深拷贝方法及区别
我是小假 期待与你的下一次相遇 ~
213 1
|
3月前
|
算法 Java 数据库连接
Java 与 C++ 区别深入剖析及应用实例详解
本文深入剖析了Java和C++两种编程语言的区别,从编译与执行机制、面向对象特性、数据类型与变量、内存管理、异常处理等方面进行对比,并结合游戏开发、企业级应用开发、操作系统与嵌入式开发等实际场景分析其特点。Java以跨平台性强、自动内存管理著称,适合企业级应用;C++则因高性能和对硬件的直接访问能力,在游戏引擎和嵌入式系统中占据优势。开发者可根据项目需求选择合适语言,提升开发效率与软件质量。附面试资料链接:[点此获取](https://pan.quark.cn/s/4459235fee85)。
176 0
|
2月前
|
安全 算法 Java
Java 多线程:线程安全与同步控制的深度解析
本文介绍了 Java 多线程开发的关键技术,涵盖线程的创建与启动、线程安全问题及其解决方案,包括 synchronized 关键字、原子类和线程间通信机制。通过示例代码讲解了多线程编程中的常见问题与优化方法,帮助开发者提升程序性能与稳定性。
109 0
|
2月前
|
Java API 调度
从阻塞到畅通:Java虚拟线程开启并发新纪元
从阻塞到畅通:Java虚拟线程开启并发新纪元
269 83
|
3月前
|
存储 SQL 安全
Java 无锁方式实现高性能线程实战操作指南
本文深入探讨了现代高并发Java应用中单例模式的实现方式,分析了传统单例(如DCL)的局限性,并提出了多种无锁实现方案。包括基于ThreadLocal的延迟初始化、VarHandle原子操作、Record不可变对象、响应式编程(Reactor)以及CDI依赖注入等实现方式。每种方案均附有代码示例及适用场景,同时通过JMH性能测试对比各实现的优劣。最后,结合实际案例设计了一个高性能配置中心,展示了无锁单例在实际开发中的应用。总结中提出根据场景选择合适的实现方式,并遵循现代单例设计原则以优化性能和安全性。文中还提供了代码获取链接,便于读者实践与学习。
82 0

热门文章

最新文章