返回顶部
首页 > 资讯 > 精选 >一个java源文件中是不是必须有public类
  • 630
分享到

一个java源文件中是不是必须有public类

2023-06-14 12:06:11 630人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关一个java源文件中是不是必须有public类,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。是的,一个源文件中有且只能有一个public类。因为每个编译单元(文件)都只能有一个

这篇文章将为大家详细讲解有关一个java源文件中是不是必须有public类,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

是的,一个源文件中有且只能有一个public类。因为每个编译单元(文件)都只能有一个public类,即每个编译单元都有单一的公共接口,用public类来表现;该接口可以按要求包含众多的支持包访问权限的类。

教程操作环境:windows10系统、java8、Dell G3电脑。

问题:一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

  答案:可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。一个文件中可以只有非public类,如果只有一个非public类,此类可以跟文件名不同。

为什么一个java源文件中只能有一个public类?

  在java编程思想(第四版)一书中有这样3段话(6.4 类的访问权限):

  1.每个编译单元(文件)都只能有一个public类,这表示,每个编译单元都有单一的公共接口,用public类来表现。该接口可以按要求包含众多的支持包访问权限的类。如果在某个编译单元内有一个以上的public类,编译器就会给出错误信息。

  2.public类的名称必须完全与含有该编译单元的文件名相同,包含大小写。如果不匹配,同样将得到编译错误。

  3.虽然不是很常用,但编译单元内完全不带public类也是可能的。在这种情况下,可以随意对文件命名。

当java源文件不存在public类时,会出现什么情况?

  一个java源文件中是不是必须有public类

此时程序编译通过,在相应路径下产生了三个.class文件。直接点击运行,程序是不能运行的,我们需要鼠标右键点击程序----->Run As----->Java Aplication----->选数据来源

一个java源文件中是不是必须有public类

个人总结

一个编译单元(java文件)可以存在多个类,在编译时产生多个不同的.class文件,.class文件便是程序运行的数据来源。java将public类作为每个编译单元的数据接口,只能有一个,不然不能处理存在多个类的java文件。当一个编译单元(java文件)有多个非public类时,运行时需要对数据来源进行选择。

关于“一个java源文件中是不是必须有public类”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 一个java源文件中是不是必须有public类

本文链接: https://lsjlt.com/news/270872.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 一个java源文件中是不是必须有public类
    这篇文章将为大家详细讲解有关一个java源文件中是不是必须有public类,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。是的,一个源文件中有且只能有一个public类。因为每个编译单元(文件)都只能有一个...
    99+
    2023-06-14
  • 一个c源程序是不是必须包含一个main函数
    这篇文章将为大家详细讲解有关一个c源程序是不是必须包含一个main函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。是的,必须包含一个main函数。main函数是程序默认的入口,程序的执行是从main函数...
    99+
    2023-06-14
  • javascript中函数是不是必须有返回值
    这篇文章主要介绍javascript中函数是不是必须有返回值,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在javascript中,函数都会有一个返回值。返回值可以通过return关键字进行设置';如果函数里...
    99+
    2023-06-15
  • Vue组件中的data必须是一个function的原因是什么
    这篇文章给大家分享的是有关Vue组件中的data必须是一个function的原因是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。组件可以有自己的data,并且data必须是一...
    99+
    2024-04-02
  • 所有命名文件必须位于 go vet 后一个目录中
    从现在开始,我们要努力学习啦!今天我给大家带来《所有命名文件必须位于 go vet 后一个目录中》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清...
    99+
    2024-04-04
  • Go语言中必须包含的一个包是什么
    标题:Go语言中必须引入的包 Go语言是一门开源的编程语言,由Google公司开发。它具有静态类型、并发性高、垃圾回收等特点,因此越来越受到程序员的喜爱。在Go语言中,必须引入的一个包...
    99+
    2024-03-15
    包:`fmt` `log` `net` go语言 格式化输出 标准库
  • Vue3中watch监听对象的属性值(监听源必须是一个getter函数)
    目录Vue3 中使用 watch 侦听对象中的具体属性1.前言2. 原因3.watch源码分析4.doWatch源码分析5.总结Vue3 中使用 watch 侦听对象中的具体属性 1...
    99+
    2022-12-20
    Vue3 watch监听对象 Vue3 watch监听 Vue3  getter函数
  • .proto 文件中的枚举变量是否必须大写?
    在.proto文件中,枚举变量是否必须大写是一个常见的问题。根据Google Protocol Buffers的官方文档,对于枚举变量的命名,没有明确要求必须大写。但是,习惯上推荐使用...
    99+
    2024-02-09
  • java源文件的扩展名是哪个
    本篇内容介绍了“java源文件的扩展名是哪个”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!java源文件扩展名是“.java”;用javac...
    99+
    2023-06-17
  • 一文读懂:Go语言中必须掌握的类库有哪些?
    Go语言作为一种越来越流行的编程语言,拥有丰富的类库可供开发者使用。在学习和使用Go语言时,掌握一些常用的类库是非常重要的。本文将介绍一些在Go语言中必须掌握的类库,并附带具体的代码示...
    99+
    2024-03-01
    并发编程 web框架 标准库 go语言 并发访问
  • 打包还是不打包?Java 程序员必须知道的一些事情
    Java 是一种非常流行的编程语言,被广泛用于开发各种类型的应用程序。在开发 Java 应用程序时,程序员们通常需要决定是打包还是不打包他们的应用程序。本文将讨论这个问题,并解释 Java 程序员必须知道的一些事情。 首先,让我们来了解什么...
    99+
    2023-09-29
    异步编程 打包 load
  • PHP IDE中的文件数据类型对于开发者来说是否必须掌握?
    对于PHP开发人员来说,文件数据类型是一项非常重要的技能。在PHP IDE中,文件数据类型是指一种用于读取、写入和操作文件的数据类型。它可以帮助开发者更好地管理文件,并且可以大大提高开发效率。 在本文中,我们将探讨PHP IDE中的文件数...
    99+
    2023-09-20
    ide 文件 数据类型
  • php中每个类是不是只能被加载一次
    这篇文章主要讲解了“php中每个类是不是只能被加载一次”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php中每个类是不是只能被加载一次”吧!首先,让我们看一下类被加载的过程。在PHP中,我们...
    99+
    2023-07-05
  • 利用Java如何在一个不存在文件夹中创建一个文件
    利用Java怎么在不存在文件夹中创建一个文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。核心代码如下所示:String strPath = ...
    99+
    2023-05-31
    java ava
  • java怎么判断一个文件是否存在
    在Java中,可以使用`File`类的`exists()`方法来判断一个文件是否存在。该方法返回一个布尔值,如果文件存在则返回`tr...
    99+
    2023-08-16
    java
  • Java开发者必须掌握的Linux文件系统知识,面试中有用吗?
    对于Java开发者来说,Linux系统是非常重要的一个工具。Linux系统是Java开发的常用平台,很多Java开发工具和框架也是基于Linux平台开发的。因此,Java开发者需要掌握一些Linux文件系统的知识,以便更好地运用Linux...
    99+
    2023-08-04
    面试 linux 文件
  • Java中的文件数据类型是什么?
    在Java编程中,文件是一个非常重要的概念。文件通常用于保存数据,以便稍后使用。在Java中,文件是由文件数据类型来表示的。本文将介绍Java中的文件数据类型及其用法。 Java中的文件数据类型 Java中的文件数据类型是File。Fil...
    99+
    2023-06-16
    bash 数据类型 文件
  • HTML文档中第一个有效标记是哪个
    这篇文章主要介绍HTML文档中第一个有效标记是哪个,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在html中,第一个有效标记是html标签,此元素可告知浏览器其自身是一个HTML文档。“”与“”标签限定了文档的开始点...
    99+
    2023-06-15
  • vue中为什么在组件内部data是一个函数而不是一个对象
    目录实例和组件中 data 的区别?组件中 data 定义对象和函数区别?如果采用函数的写法?总结扩展vue 组件data用箭头函数行不行?组件中 data 定义...
    99+
    2023-05-17
    vue中data为什么是函数而不是对象 vue中data是函数而不是对象
  • Java和Bash中的文件数据类型有何不同?
    Java和Bash是两种编程语言,它们分别用于不同的应用场景。在文件操作方面,Java和Bash有很多不同之处,这篇文章将着重介绍Java和Bash中文件数据类型的不同之处。 Java中的文件数据类型 Java是一种面向对象的编程语言,它提...
    99+
    2023-06-16
    bash 数据类型 文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作