A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 笑面人 初级黑马   /  2015-5-17 09:51  /  3559 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5黑马币
java文件名必须和类名相同吗?如图

捕获.PNG (1.61 KB, 下载次数: 10)

编译后的。class

编译后的。class

最佳答案

查看完整内容

如果class前边没有public,文件名和类名可以相同也可以不同 class demo { public static void main(string[] args){ systerm.out.println("hello world") } } 如果class 前边加public,例如下边,文件名与类名必须相同 public class demo { public static void main(string[] args){ systerm.out.println("hello world") } }

17 个回复

倒序浏览
本帖最后由 董小姐 于 2015-5-19 20:45 编辑

如果class前边没有public,文件名和类名可以相同也可以不同
class demo
{
public static void main(string[] args){

systerm.out.println("hello world")

}
}

如果class 前边加public,例如下边,文件名与类名必须相同
public  class demo
{
public static void main(string[] args){

systerm.out.println("hello world")

}
}
回复 使用道具 举报

1、如果源文件中有多个类,那么只能有一个类是public类。
2、如果有一个类时public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java,如果没有public类,则文件可以随意命名。
3、一个文件中,public的类可以有零个或一个,非public的类可以有零个或多个。
回复 使用道具 举报
1,java保存的文件名必须与类名一致;
2,如果文件中只有一个类,文件名必须与类名一致。
3,一个java文件中只能有一个public类,
4,如果文件中不止一个类,文件名必须与public类名一致,
5,如果文件中不止一个类,而且没有public类,文件名可与任何一类名一致;

亲还有不懂的?{:3_57:}
回复 使用道具 举报
521123270 发表于 2015-5-17 11:39
1,java保存的文件名必须与类名一致;
2,如果文件中只有一个类,文件名必须与类名一致。
3,一个java文件中 ...

不懂,举个列子!
回复 使用道具 举报
521123270 发表于 2015-5-17 11:39
1,java保存的文件名必须与类名一致;
2,如果文件中只有一个类,文件名必须与类名一致。
3,一个java文件中 ...

C:\Users\Administrator\Desktop
这种错误在哪 ?
回复 使用道具 举报
一个文件中可以有多个类,类命是任意的,但被public修饰的类只能有一个而且必须与文件名相同
回复 使用道具 举报
笑面人 发表于 2015-5-17 12:18
不懂,举个列子!

当你的类被 public 修饰时,此时文件名必须和该类保持一致(例如 public class A{} 只能放在 A.java 文件中,不然在用 javac 编译时会提示错误:类 A 是公共的,应在名为 A.java 的文件中声明)。也就是说在同一个 .java 文件中,不应该出现2个或2个以上的 public class 。
如果有一个public class类,就应该让文件名和此类名相同;那如果没有呢,即所有的 class 都没有修饰符,那么可以给该文件随便起名字,甚至可以不和任意一个类同名,哪怕是汉字名称都可以,但是后缀还是要有.java 的  。
回复 使用道具 举报

谁理解你啊?说详细点问题?
回复 使用道具 举报
521123270 发表于 2015-5-17 14:10
谁理解你啊?说详细点问题?

出错提示:Could not find the main class:HelloWorld。java文件名为HelloWorld,类文件也是HelloWorld。在E盘文件夹”java练习“下
回复 使用道具 举报
笑面人 发表于 2015-5-17 15:47
出错提示:Could not find the main class:HelloWorld。java文件名为HelloWorld,类文件也是HelloWorld。 ...

可能你没设置临时环境路径。因为你的javac编译器默认的路径是之前那个路径!
回复 使用道具 举报
521123270 发表于 2015-5-17 18:09
可能你没设置临时环境路径。因为你的javac编译器默认的路径是之前那个路径! ...

恩恩,说的有道理!谢谢!
回复 使用道具 举报
521123270 发表于 2015-5-17 18:09
可能你没设置临时环境路径。因为你的javac编译器默认的路径是之前那个路径! ...

那该如何修改?
回复 使用道具 举报
命名不是必须一样的,但为了开发方便人们习惯于一个文件放一个类,而且文件名和类名一样
回复 使用道具 举报
不一定啊    如果你的文件中有public类的话  才要跟public类同名  否则可以随意   一个Java文件中只能有一个public类
回复 使用道具 举报
要看有没有被public修饰
回复 使用道具 举报
如果 class 前没有public  ,文件名和类名可以相同也可以不同
class demo
{
public static void main(string[] args){

system.out.println("hello world")

}
}

如果class 前边加public,例如下边,这是文件名和类名必须相同
public  class demo
{
public static void main(string[] args){

system.out.println("hello world")

}
}
回复 使用道具 举报
也可以不同 但是为了方便 最好相同
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马