类初始化与对象初始化

博客给出一段Java代码,包含父类和子类,每个类有内部类和静态内部类。通过执行代码展示了类初始化时各构造函数的输出顺序,最后提出是否真正理解类初始化的问题,涉及Java类初始化相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

what's the output?
/**
 * @author 031202
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
class Parent {
 
 class InnerClass {
  public InnerClass() {
   System.out.println("Construct parent's inner class");
  }
 }
 
 static class StaticInner {
  public StaticInner() {
   System.out.println("Construct parent's StaticInner class");
  }
 }
 
 private InnerClass i = new InnerClass();
 
 private static StaticInner s = new StaticInner();
 
 public Parent() {
  System.out.println("Construct Parent");
 }

}

public class Child extends Parent {
 class InnerClass {
  public InnerClass() {
   System.out.println("Construct child's inner class");
  }
 }
 
 static class StaticInner {
  public StaticInner() {
   System.out.println("Construct child's StaticInner class");
  }
 }
 
 private static StaticInner s = new StaticInner();
 
 private InnerClass i = new InnerClass();
 
 public Child() {
  System.out.println("Construct Child");
 }
 
 public static void main(String[] args) {
  new Child();
 }
}
answer:
Construct parent's StaticInner class
Construct child's StaticInner class
Construct parent's inner class
Construct Parent
Construct child's inner class
Construct Child

Do you really understnand  the class initialization?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值