为什么java源文件不可以有两个public类
一个源文件可以有多个类,可是只有一个public类,为什么有两个以上就会编译报错,请高手详解.谢谢!...
一个源文件可以有多个类,可是只有一个public类,为什么有两个以上就会编译报错,请高手详解.谢谢!
展开
11个回答
展开全部
简单的说,是由JAVA机制决定的,这是硬性规定,不遵守就会出错。比如C#里就可以在一个源文件里有多个public类,也可以只有一个,这是看各个不同语言所定的规则了。
细究的话,只能说JAVA这个样规定有什么好处呢?
简单地说来,是为了更好地组织代码。
再追究,为什么这样能更好地组织代码呢?这得从JAVA类的访问机制说起了。
JAVA中可以让用户(当你编译好类之后,所有使用这些类的其它类,因为在不同的包中)访问的类只能是public,没有加public 的只有包的访问权限,用户无法访问,这样的类是作为辅助public类的作用出现的,如果不在public类中出现过,那么可以说这些类是没用的。
所以,JAVA就规定一个源文件只能有一个public类,而且文件名必须与它相同,这样一个文件形成了一个功能单元,而不会存在一个文件有很多功能单元这样的混乱局面,这样管理起代码来就有条理多了。
个人理解,希望对你有帮助,如果对访问机制不是很清楚,建意看JAVA方面的基础书.
细究的话,只能说JAVA这个样规定有什么好处呢?
简单地说来,是为了更好地组织代码。
再追究,为什么这样能更好地组织代码呢?这得从JAVA类的访问机制说起了。
JAVA中可以让用户(当你编译好类之后,所有使用这些类的其它类,因为在不同的包中)访问的类只能是public,没有加public 的只有包的访问权限,用户无法访问,这样的类是作为辅助public类的作用出现的,如果不在public类中出现过,那么可以说这些类是没用的。
所以,JAVA就规定一个源文件只能有一个public类,而且文件名必须与它相同,这样一个文件形成了一个功能单元,而不会存在一个文件有很多功能单元这样的混乱局面,这样管理起代码来就有条理多了。
个人理解,希望对你有帮助,如果对访问机制不是很清楚,建意看JAVA方面的基础书.
展开全部
源文件的文件名必须和public类的一样,因为一个文件不能同时有两个名称,所以public类只能有一个。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个Java源文件中最多只能有一个public类,当有一个public类时,源文件名必
须与之一致,否则无法编译,如果源文件中没有一个public类,则文件名与类中没有一致性要求。
java虚拟机实例通过调用某个类的main()来运行一个Java程序,而这个main()必须是public static void 并接收一个字符串数组作为参数,任何拥有这样一个main()的类都可以作为java程序的起点。
须与之一致,否则无法编译,如果源文件中没有一个public类,则文件名与类中没有一致性要求。
java虚拟机实例通过调用某个类的main()来运行一个Java程序,而这个main()必须是public static void 并接收一个字符串数组作为参数,任何拥有这样一个main()的类都可以作为java程序的起点。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是Java的语法,是人家的定义的,这好比一个句子主语加谓语,你不能改的,你不能说一个句子主语加宾语
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同个源文件有多个公共类,编译器就找不到应该执行的main方法了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询