一个.java文件中是否可以有多个类
前段时间,有个同事问到我这个问题:一个.java文件中是否可以有多个类?
答案:可以有多个类,但最多只能有一个被public修饰的class。
且若这个.java文件中有一个public类型的class,则这个class名需与.java文件名一致。
举例:
文件A.java里有如下类

public class A1会报错,报错信息是如下:提示public 类型的A1必须定义在它自己的文件中

因此一个java文件中是不能同时有两个public 类型的class的。
说到这里,有人可能有疑问:
明明我看到java是有四种访问权限(public,default(只允许本包内使用),private以及protected)的呀,为什么上面没有被private和protected修饰的类呢?
private和protected只会用来修饰类的属性,方法和内部类。你想如果外部类是private的,其他任何的类都无法访问这个类,那么这个类就没有任何意义了
一个.java文件中是否可以有多个类的更多相关文章
- 一个.java文件中可以有几个同级类
1.在一个.java文件中可以有几个类.修饰符只可以public abstract final和无修饰符,不能是其他的private等修饰符.2.public修饰的只能有一个,且要与文件名相同 若没有 ...
- 一个“.java”文件中是否可以包含多个类(不是内部类)?有什么限制?
可以,若这个类的修饰符是public则,其类名须与文件名相同.
- 1.一个.java源文件中是否可以包括多个类?2...
1.一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制? 答:可以有多个类,但只能有一个public类,并且public的类名必须与文件名相一致. 2.java有没有goto? 答 ...
- 一个".java"源文件中是否可以包括多个类
可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 现在我们编个测试文件来测试一番(一个程序员要具有用于探索的精神 -.- 手动滑稽) 1.编写一个 a ...
- 一个".java"源文件中是否可以包括多个类(不包括内部类)
开通好几个月博客了,但是一直没有时间写,这一段时间准备开始复习了,以后准备好好写博客了,会从基础的内容开始. 一个".java"源文件中可以定义多个类,但最多只能定义一个publi ...
- 一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制
这个是可以的,一个“.java”源文件里面可以包含多个类,但是只允许有一个public类,并且类名必须和文件名一致. 每个编译单元只能有一个public 类.这么做的意思是,每个编译单元只能有一个公开 ...
- Java | 一个".java"源文件中是否可以包括多个类(不包括内部类)
第一种情况:(有public) 定义一个java源文件(Hello.java),里面只有一个类: public class Hello { public static void main(string ...
- 一个java文件中可包含多个main方法
java中的main方法是java应用程序的入口,java程序在运行时,首先调用执行main方法.但并不是说java中只能有一个main方法,不同类中都可以包含main方法.当JVM进行编译时,会提示 ...
- 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
可以有多个类,但只能有一个public的类,并且public的类名必须与文件的主文件名相同. 包含多个类的Java源文件编译之后会生成多个.class文件.
随机推荐
- thymeleaf是用于编写html模版的编程语言(工具语言)
一.编程语言 用于编写html模版的编程语言. thymeleaf一种命令式和声名式混合的寄生语言. html与thymeleaf的结合是dsl与命令式语言的结合. html与thymeleaf的结合 ...
- C# Winform 打印控件PrintDocument
由于本着节约的原则,这里的打印都只是保存为.oxps格式的文件. 在我调试时每次打印完成后,窗体都会自己闪退. 在网上并没有相关资料,经过加入断点确认问题在 private void btnPrint ...
- 关于C#对Xml数据解析
首先进行简单说明Xml 与Html 和 XAML数据标签的差别. 1.Xml属于数据文本, 被设计为传输和存储数据,其焦点是数据的内容.它与json格式数据相似,可作为服务数据传输类型. 其中XML ...
- protoc文件生成cs文件
1.下载protoc工具 点击下载 2.下载解压后打开文件,其中有一个.bat文件,里面对应命令行如下: 编写如下命令行 protoc.exe -I=. --csharp_out=. --grpc_ ...
- tqdm()与set_description()的用法
pbar=tqdm(range(55156))for i in pbar: # print(i) a=464443161*845113131 pbar.set_description("tr ...
- Django---Django中使用COOKIE和SESSION
Django---Django中使用COOKIE和SESSION 一丶Cookie cookie的由来 # HTTP协议是无状态的. # 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请 ...
- jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法
jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jq ...
- android如何在标题栏设置返回返回图标返回到另一个activity
在java代码中: 添加返回按钮 Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true); 进行返回 ...
- ASP.NET CORE 中使用AutoMapper进行对象映射
ASP.NET CORE 中使用AutoMapper进行对象映射 1.什么是AutoMapper? AutoMapper是基于对象到对象约定的映射工具,常用于(但并不仅限制于)把复杂的对象模型转为DT ...
- javascript中的vavigator对象
appCodeName javaScript 1.0 介绍:与浏览器相关的内部代码名 appMinorVersion IE4及其后续的版本 介绍:辅版本号(通常应用于浏览器的补丁或服务包) appNa ...