一个java文件只能有一个public类,而且此类的名字须与文件名一致。

来源:互联网 发布:安卓编程创建文件 编辑:程序博客网 时间:2024/05/01 22:45
当编写一个Java源代码文件时,此文件通常被称为编译单元(有时也称为转译单元)。每个编译单元都必须要有一个后缀为.java,而在编译单元内测可以有一个public类,该类的名称必须与文件名称相同(包括大小写,但不包括文件的后缀名.java)。每个编译单元只能有一个public类,否则编译器就不会接受。如果在该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,这是因为他们不是public类,而且他们主要用来为主要public类提供支持。

1. 每个编译单元(文件)都只能有一个public类。这表示,每个编译单元都有单一的公共接口,用public类来表现。该接口可以按要求包含众多的支持包访问权限的类。如果在某个编译单元内有一个以上的public类,编译器就会给出出错信息。
2. public类的名称必须完全与含有该编译单元的文件名相匹配,包括大小写。所以对于Widget而言,文件的名称必须是Widget.java, 而不是widget.java或WIDGET.java。如果不匹配,同样将得到编译时错误。
3. 虽然不是很常用,但编译单元内完全不带public类也是可能的。这种情况下,可以随意对文件命名。(尽管随意命名会使得人们在阅读和维护代码时产生混淆。)

Thinking in java 4th, 第6章, 倒数第二段。


package teststring;

/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright Coffee 2003</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/

public class test
{
int a;
int b;
public test(int aa,int bb)
{
a = aa;
b = bb;
}
int add()
{return a+b;}
}
public class hehe
{
public static void main(String args[])
{
int a = 2;
int b = 3;
int c= a+b;
System.out.printlnCoffee;
test kk=new test(1,2);
System.out.println(kk.add());
}
}

以上是我的test.java文件我编译时出现;
"test.java": Error #: 475 : class hehe is public; must be declared in a file named hehe.java at line 24, column 8
提示,请问什么原因。 

答复:一个.Java文件可以有多个类作为内部类/Adapter类/其它类,但是只能有一个public类,且类名必须和文件名一致。

这是这类语言的一个不好的地方。在现实情况中,经常有一些很小的类由几个类共同需要,因此无法作为内部类,而且接口关系必须设置为public,这样就导致了大量很小的.Java程序,每个都只有几百字节。

这类语言的另一个问题是一个类的所有实现的方法都必须包含在同一个文件中。在swing应用程序中,经常导致长达一两百K字节的源程序,行数达到三四千行,搞得JBuilder奇慢无比。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 拔完智齿神经疼怎么办 22岁腿关节疼痛怎么办 耳洞里面有硬块怎么办 耳洞发炎有硬块怎么办 小孩慢性扁桃体发炎怎么办大全 侧切伤口化脓了怎么办 狗狗伤口不愈合怎么办 狗后腿烂了化脓怎么办 乳腺增生腋下淋巴结肿大怎么办 手术刀口冒脓了怎么办 脚伤口感染肿了怎么办 皮外伤口不愈合怎么办 烫伤新皮红红的怎么办 脸上痘痘化脓了怎么办 痘痘引起的红肿怎么办 痘痘引起的硬块怎么办 痘痘化脓感染了怎么办 烫伤有脓了烂掉怎么办 烫伤起泡破皮了怎么办 一出汗就有狐臭怎么办 耳朵后面臭臭的怎么办 赤黑abo意外怀孕怎么办 qq忘记密保了怎么办 三星s8耗电太快怎么办 360云盘关闭照片怎么办 360云盘停止服务怎么办 房间湿度90%太高怎么办 天刀掠夺进错了怎么办 狗耳朵臭怎么办黄垢 狗耳朵里有味道怎么办 电视没了泰捷怎么办 配资公司跑路怎么办 口袋忍者倒闭了怎么办 小樱死了,佐助怎么办 别人诬陷我我该怎么办 亲戚诬陷我偷钱怎么办 被别人怀疑偷钱怎么办 有人诬陷我偷鱼怎么办, 寝室里有人偷钱怎么办 6s被偷一直关机怎么办 苹果6被偷了关机怎么办