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

    总结:

    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

  • 相关阅读:
    tensorflow学习笔记13
    Java——内部类
    Java——枚举
    Java——代码块
    Java——static
    Java——接口
    Java——final
    Java——权限修饰符
    Java——多态
    Java——抽象类
  • 原文地址:https://www.cnblogs.com/snowwhite/p/4750534.html
Copyright © 2011-2022 走看看