牛客_{}大括号里面的内容都会执行,如果它不是成员函数的时候,看成是构造函数中的方法;...

本文详细解析了在Java中创建子类对象时,静态代码块、构造函数及普通成员函数的执行顺序,通过具体示例展示了从类加载到实例化过程中的关键步骤。

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

总结:

new一个子类对象的时候:

  1. 最先执行的是静态代码快,先父类,在子类
  2. 其次开始执行单独由大括号{}中的内容,在执行构造函数,先子类后父类
  3. 成员函数中的不会执行

 

 

题目:

检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。

package t0820;

public class HelloB extends HelloA {
  public HelloB(){
      System.out.println("I’m BB class");  //构造函数会执行
  }  
  public void printB()   //成员函数在new时不会执行
  {
  System.out.println("I’m B class");
  }
  static    {
  System.out.println("static B");     //静态代码快会执行
  }
  public static void main(String[] args){
    new HelloB();
  }
}
class HelloA    {
  public HelloA(){
      System.out.println("I’m AA class");  // 构造函数会执行
    }
    {
    System.out.println("I’m A class");   //{}会执行,而且先于构造函数执行
    }
    static
    {
    System.out.println("static A");    //静态代码块最新执行
    }
}

结果为:

static A
static B
I’m A class
I’m AA class
I’m BB class

转载于:https://www.cnblogs.com/snowwhite/p/4750534.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值