首页 > 其他分享 >Day30--类的个数

Day30--类的个数

时间:2024-11-04 13:58:50浏览次数:1  
标签:Java 内部 -- 个数 Day30 class java Main public

Day30--类的个数

在Java中,只有一个公开类,可以有多个类

详细解释:

  1. 一个 Java 源文件中可以有多个类

    • 在 Java 中,一个.java文件中可以包含多个类。例如:

      class ClassA {
          // ClassA的成员和方法
      }
      class ClassB {
          // ClassB的成员和方法
      }
      public class Main {
          public static void main(String[] args) {
              // 主方法,程序入口
          }
      }
      
  • 在这个示例中,一个.java文件中包含了ClassAClassBMain三个类。

2.但只有一个公开(public)类

  • 不过,在一个.java文件中,最多只能有一个public类。这个public类的名字必须与文件名相同(包括大小写)。例如,如果文件名是Main.java,那么其中的public类的名字必须是Main
  • 这是 Java 的语法规则要求。主要是为了方便编译器在编译和组织代码时能够更容易地识别和关联类与文件。如果有多个public类,编译器就不知道该以哪个类名来命名编译后的文件(在 Java 中,public类会被编译成一个独立的.class文件,文件名与public类名相同)。

3.内部类情况除外

  • 上述规则是针对顶级类而言的。对于内部类(包括成员内部类、局部内部类、匿名内部类等),它们的public修饰符的使用不受这个限制,因为内部类是嵌套在其他类内部的,有自己独立的作用域和规则。例如:

  • public class OuterClass {
        public class InnerClass {
            // InnerClass的成员和方法,它可以是public的
        }
    }
    
    • 在这个OuterClass的内部,InnerClass可以是public的,这并不违反一个.java文件只有一个public顶级类的规则。
    • 类名通常采用大写字母开头的驼峰命名法

标签:Java,内部,--,个数,Day30,class,java,Main,public
From: https://www.cnblogs.com/xiaokunzhong/p/18525077

相关文章

  • chrome语音文本互转
    随着浏览器技术发展,chrome越来越强大。可以实现越来越多的系统级功能,例如:文件操作、剪切板、支付、NFC、通知、WASM、XR(VR、AR)、串口、蓝牙、语音合成、AI等(可参考FUGU项目)在以前想要实现语音文本互转功能,基本都是接入第三方服务(例如讯飞、百度等)。这种方式优点是,提供各种定制化......
  • JS HOOK 代码段
    1、定位header关键字(function(){letheaderCache=window.XMLHttpRequest.prototype.setRequestHeader;window.XMLHttpRequest.prototype.setRequestHeader=function(key,value){console.log('Hooksetheader%s=>%s',key,value);......
  • Day30--如何引用其他的类
    Day30--如何引用其他的类同一包内引用其他类无需导入(在某些情况下):如果多个类在同一个包中,并且没有使用任何访问限制(如private)阻止访问,在一个类中可以直接创建对象然后使用另一个类。例如,有ClassA和ClassB在同一个包com.example中:packagecom.example;classClassA{......
  • Nuxt.js 应用中的 nitro:build:before 事件钩子详解
    title:Nuxt.js应用中的nitro:build:before事件钩子详解date:2024/11/4updated:2024/11/4author:cmdragonexcerpt:nitro:build:before是Nuxt3中的一个生命周期钩子,专门用于在构建Nitro实例之前调用。这个钩子允许开发者在Nitro实例构建之前执行特定的操作,从而......
  • 深入理解 `std::shared_ptr`:原理、用法及其线程安全性
    在C++中,智能指针是现代内存管理的重要工具,尤其是在复杂的多线程环境中,能显著减少内存泄漏和悬空指针等问题。std::shared_ptr是C++11引入的一种共享智能指针,通过引用计数机制管理对象的生命周期。本文将详细介绍std::shared_ptr的基本用法、循环引用问题、线程安全性及其局......
  • 信息安全与ISO 27001:内部稽核必备的硬盘抹除方案
    抹除机需求案例(记录用)葡眾(User)向歐力士(SI)租賃電腦,租期為三年。租賃期間大世科提供三年保固。租期結束前,因應內部稽核需符合ISO27001標準,因此需要抹除機來處理資料安全問題。歐力士租賃電腦的產品來自大世科電腦代理商,他們與大世科合作,透過買斷方式取得電腦設備,但由大世......
  • 详解Rust标准库:VecDeque 队列
    theme:githubhighlight:an-old-hope查看本地官方文档安装rust后运行rustupdoc查看TheStandardLibrary即可获取标准库内容std::connections::VecDeque定义队列是遵循先入先出规则的线性数据结构,在内存中不一定连续VecDeque定义:可增长的环形缓冲区实现的双端队......
  • 【JAVA】Java基础—Java概述:Java语言的历史与发展
    Java是一种广泛使用的编程语言,因其跨平台性、面向对象特性和强大的生态系统而受到开发者的青睐。Java最初由SunMicrosystems于1995年发布,经过多年的发展,已成为企业级应用、移动应用、Web开发和大数据处理等领域的主流语言。企业级应用:Java在大型企业应用中占据主导地位,特别......
  • 【JAVA】Java基础—Java概述:Java的特点
    Java语言因其独特的设计理念和强大的功能,在软件开发领域获得了广泛的应用。以下是Java的几个主要特点的详细说明,以及通俗易懂的例子来帮助理解这些概念。1.跨平台性理论说明Java的跨平台性是其最显著的特点之一,得益于Java虚拟机(JVM)的设计。Java程序在编译后生成字节码(.clas......
  • 外网爆火的LLM应用手册来了!内行人都在学的大模型黑书,评分高达9.9!!!
    Transformer模型介绍朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】Transformer是工业化、同质化的后深度学习模型,其设计目标是能够在高性能计算机(超级计算机)上以并行方式进行计算。通过同质化,一个Transformer模型可以执行各种任务,而不......