浅谈为什么一个java源文件中只能有一个public类

 我来答
百毒千毒
2017-10-14 · TA获得超过4737个赞
知道大有可为答主
回答量:2504
采纳率:88%
帮助的人:649万
展开全部
/*
你好,我是入门者学Java已经有一段时间了,此刻我已经不敢说我是新手了,只能用菜鸟来形容
我自己了!
"浅谈"一词足以体现...你是久经沙场的老手了,但是你提出的问题,又像刚入门的人!
有点矛盾,呵呵!
我来解说,我凭个人的理解,尽量通俗,不足之处还请指点:
看下面代码:
*/
public class  TestPublic
{
public static void main(String[] args) 
{
System.out.println("\n\t\t==========为什么一个java源文件中只能有一个public类==========\n");
}
}

class Test1
{
public static void main(String[] args) 
{
System.out.println("\n\t\t==========为什么一个java源文件中只能有一个public类==========\n");
}
public class A
{
void show()
{
System.out.println("这是一个特殊的public类!");
}
}
}
/*
以上我的代码是合法的,看下面!
public static void main(String[] args) 
这句代码是被虚拟机识别的代码作为入口的,但是你没发现我写了两句吗?
区别在哪儿?
区别就是在类的前面的修饰public,准确的说,虚拟机的主线程他只找public的
进去,然后在找public static void main(String[] args)这句话作为入口!
那假如同文档中,两个类都有public权限,
又都有public static void main(String[] args),你说虚拟机该进哪个门?
这么说能明白了吧....
  
 补充下题外话:
 我也百度了,很多较真的人,非得把内部类混在一起搅和,内部类,完全视为一个链表式的
 行为,与同文档类,怎么非得要相提并论...
*/

这是运行图编译是通过的!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式