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

2019-11-13 17:00:00
六月
来源:
https://www.cnblogs.com/zhukunqiang/p/6652787.html
转贴 732

可否将两个class写在一个文件中?   https://zhidao.baidu.com/question/146689089.html

可以的,java中class的写法有4种,第一种是public class XXX{},第二种是非public类,例如:
public class A{}
class B{}
第二个class前面不能加public,
第三种是内部类,写在公共类体里面的,例如:
public class A{
 private class B{}

只有A能调用B,
第四种是匿名内部类,一般在awt编程中比较多,位于方法体内部,一般用于只调用一次或者只有这个方法调用,例如:
public class A{
 public void c(){
   this.addWindowListener(new WindowAdapter(){
  public void windowClosing(WindowEvent e){
   System.exit(0);
  }
   });
 }

匿名内部类没有类名,在方法体内部声明,该例子是awt中的窗口关闭监听器,用于监听鼠标是否触发Window的关闭按钮


每个编译单元只有单一的公共接口,用public类来表现,如果很多PUBLIC 类,那程序从何运行?这个单一的公共接口可以包含多个支持包 访问权限 的类。 如果有一个以上的public 类,编译器就会报错。同时,public类的名称必须完全与含有该编译单元的文件名完全一致。如果不一致,也会导致将编译错误。

https://zhidao.baidu.com/question/148437800.html


https://www.cnblogs.com/zhukunqiang/p/6652787.html

https://blog.csdn.net/u010188178/article/details/83073085

发表评论
评论通过审核后显示。