社区
Java SE
帖子详情
java文件名可否于其中的类名不同?
jajajaja
2001-10-03 10:50:13
...全文
209
6
打赏
收藏
java文件名可否于其中的类名不同?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lusxiao
2001-10-04
打赏
举报
回复
其实是这样的:
可以有这样的java程序:
lib.java:
class lib1{
void a(){}
}
Test.java
public class Test{
void b(){
(new lib1()).a();
}
}
这样的程序是可以运行。在这里public class的名字要和文件名相同,但包内可用的class的名字可以和文件名不相同,但如果这样的话就要付出一定的代价:当直接javac Test.java时java不能自动解析lib1的所在,所以你必须手工编译lib.java,然后再javac Test.java。但若类名跟文件名相同时,java就可以自动根据文件名找到类,所以你只要编译public class就可以了。
所以,结论是public class的名字要和文件名相同。package class的名字可以和文件名不相同,但最好相同,至于protected class and private class由于你不可能在一个文件里仅有protected class and private class所以它们的名字不可能和文件名相同。
BugHunterPro
2001-10-04
打赏
举报
回复
Test.java:
这样是可以的
public class Test{
}
class Test1{
}
jt80
2001-10-03
打赏
举报
回复
no!
lusxiao
2001-10-03
打赏
举报
回复
例如:
Test.java中:
public class Test1 {
}
不能通过编译
但
class Test1 {
}
可以
所以,结论是public class的名字要和文件名相同。
lusxiao
2001-10-03
打赏
举报
回复
当你声明成public class时不能通过编译。但不声明public可以编译,但你能指望它能用吗?
xzh1980
2001-10-03
打赏
举报
回复
其实是这样的,在java中规定,以.java为扩展名的java文件里可以包括多个class,但是只允许有一个public class。 如:
//abc.java
class abc1 {}
public class {}
Java
面试宝典
Java
面试宝典
Java
面试宝典
java
常见面试题(史上最全最经典-希望对你有用)
java
常见面试题(史上最全最经典-希望对你有用).基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io的语法,虚拟机方面的语法。
java
classpath 配置详细讲解
详细讲解了
java
classpath 的详细过程,让你不在为配置
java
环境而烦恼,讲的非常好!word格式的!
Java
面试葵花宝典-打印.doc
Java
面试葵花宝典 专用葵花宝典 用于面试 《葵花宝典》欲练此功 必须用功 欲想成功,必须用功!
java
的classpath的终结者(不会让你失望)
本人在学习
java
的过程中深受classpath的折磨,为了让初学者少走弯路,我将这些经验总结了一番,总结了多种classpath的基本使用情况和常见的一些问题,以及解决方案和原理,供大家参考
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章