在主文件中创建java类?
是否可以在包含main方法的同一文件中创建类?我正在练习的编程竞赛只接受一个文件作为解决方案,所以我不能在单独的文件中编写类并将其发送在主文件中创建java类?,java,class,inner-classes,Java,Class,Inner Classes,是否可以在包含main方法的同一文件中创建类?我正在练习的编程竞赛只接受一个文件作为解决方案,所以我不能在单独的文件中编写类并将其发送 我知道您可以创建内部类,但它是否提供与普通类相同的功能?是的,您可以在一个.java文件中定义多个顶级类。看 在大多数情况下,嵌套类也可以工作。您可能希望声明此类类静态,以避免出现错误。您总是有一个类持有main方法,但您也可以将内部类放入此类中 大概是这样的: public class A { protected class B { }
我知道您可以创建内部类,但它是否提供与普通类相同的功能?是的,您可以在一个
.java
文件中定义多个顶级类。看
在大多数情况下,嵌套类也可以工作。您可能希望声明此类类
静态
,以避免出现错误。您总是有一个类持有main方法,但您也可以将内部类放入此类中
大概是这样的:
public class A {
protected class B {
}
public static void main(String[] args){
}
}
内部类不能有静态方法,因此不能有
main
。但是,静态嵌套类确实可以有main
另外,正如aix的回答所说,您还可以在同一源文件中拥有多个包私有顶级类。从编译器的角度来看,在单个源文件中拥有多个类是100%有效的。我经常使用此功能在单屏幕中创建对象层次结构,并在以后将类和接口重构为它们自己的源文件。 请记住,源文件中只有一个类是公共的
public class Runner {
public static void main(String[] args){
new A().process();
}
}
class A{
public void process(){
...
}
}
根据定义,内部类是非静态嵌套类。静态嵌套类仅被称为::-)@克里斯·杰斯特·杨:说句公道话,我没意识到我的术语有点不对劲。固定的。