在一个java文件中写多个类

今天突然记起一道面试题,题目是一段代码,然后求输出结果。为了求证,我开始自己动手,一开始我创建了一个Test.java文件,代码如下:

public class Test{
        public  static  void  main(String args[]){
               new B();
       }
}
public class A {
        public  A(){
              System. out .println( "I am A" );
       }
       {System.out.println( "A" );}
        static {System. out .println( "static A" );}
}

public class  extends  A{
        public  B(){
              System. out .println( "I am B" );
       }
       {System. out .println( "B" );}
        static {System. out .println( "static B" );}
}
编译器提示错误,提示A类和B类应该定义在自己的文件之中。可是我明明记得是可以在一个文件之中写多个类,然后通过上网搜索,发现是可以在一个java文件中编写

多个类,不过只能有一个public所修饰的类,所以将A和B类前的public修饰符去掉即可,最终代码如下:

public  class  Test{
         public  static  void  main(String args[]){
                new  B();
       }
}
class  A {
         public  A(){
              System.  out .println( "I am A"  );
       }
       {System. out.println( "A" );}
         static {System. out  .println( "static A" );}
}

class  B   extends   A{
         public  B(){
              System.  out .println( "I am B"  );
       }
       {System.  out .println( "B"  );}
         static {System. out  .println( "static B" );}
}
最终编译通过,顺便附上输出结果:

static A
static B
A
I am A
B
I am B
总结:其实这真的是一个非常小的问题,我只是想写下来加深印象。

  • 38
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值