java嵌套类
小弟我刚学java,老师说一个源文件中只能有一个public类。否则就会让其他的public离开这个源文件。可是今天学到类的嵌套,我茫然了。publicclassTest...
小弟我刚学java,老师说一个源文件中只能有一个public类。否则就会让其他的public离开这个源文件。
可是今天学到类的嵌套,我茫然了。
public class Test1
{
pulbic class Test2
{
}
}
这样也是正确的。
所以我理解是这样的。 一个文件只能有public类,为什么会这样呢?是因为只能生成一个public类名的点class文件。 上面虽然有两个public类,但是由于嵌套,编译器或者叫JVM虚拟机只检测开头,至于下面你有多少个嵌套,它才懒的去检查了。
大师么?我这样理解对么? 展开
可是今天学到类的嵌套,我茫然了。
public class Test1
{
pulbic class Test2
{
}
}
这样也是正确的。
所以我理解是这样的。 一个文件只能有public类,为什么会这样呢?是因为只能生成一个public类名的点class文件。 上面虽然有两个public类,但是由于嵌套,编译器或者叫JVM虚拟机只检测开头,至于下面你有多少个嵌套,它才懒的去检查了。
大师么?我这样理解对么? 展开
2个回答
展开全部
平时你做复杂的东西的时候是这个逻辑吧,要改哦。
一般意义上说的一java文件只能有一个public 类,是说一个java文件中跟java文件同名的类,还有和这类并列的其他类中,只能有一个公开的程序入口(就是main函数)类,而且必须是和java文件同名的那个类。如果你常用dos命令启动java程序,应该多少会理解点。至于内部类有点特殊,它可以用public修饰是因为1.它本身就是外部类的一部分,和它的外部类不属于同一级别(可以看做外部类的一个属性);2.它可以用public修饰,但它却不能作为程序入口类,不信你可以在内部类里写个main方法,编译都通不过。
一般意义上说的一java文件只能有一个public 类,是说一个java文件中跟java文件同名的类,还有和这类并列的其他类中,只能有一个公开的程序入口(就是main函数)类,而且必须是和java文件同名的那个类。如果你常用dos命令启动java程序,应该多少会理解点。至于内部类有点特殊,它可以用public修饰是因为1.它本身就是外部类的一部分,和它的外部类不属于同一级别(可以看做外部类的一个属性);2.它可以用public修饰,但它却不能作为程序入口类,不信你可以在内部类里写个main方法,编译都通不过。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询