zoukankan      html  css  js  c++  java
  • 【Java】初始化过程

    以下程序执行的结果是:
    class X{
        Y y=new Y();
        public X(){
            System.out.print("X");
        }
    }
    class Y{
        public Y(){
            System.out.print("Y");
        }
    }
    public class Z extends X{
        Y y=new Y();
        public Z(){
            System.out.print("Z");
        }
        public static void main(String[] args) {
            new Z();
        }
    }
    

      

    1. 初始化父类中的静态成员变量和静态代码块 ; 
    2. 初始化子类中的静态成员变量和静态代码块 ; 
    3.初始化父类的普通成员变量和代码块,再执行父类的构造方法;
    4.初始化子类的普通成员变量和代码块,再执行子类的构造方法; 
     
    (1)初始化父类的普通成员变量和代码块,执行  Y y=new Y();  输出Y 
    (2)再执行父类的构造方法;输出X
    (3) 初始化子类的普通成员变量和代码块,执行  Y y=new   Y();  输出Y 
    (4)再执行子类的构造方法;输出Z
     所以输出YXYZ
  • 相关阅读:
    局域网中电脑之间无法ping通问题
    Python 字典dict操作定义
    set集合
    Python 元组遍历排序操作方法
    Python List 列表list()方法
    set函数&操作
    dict函数
    文件操作
    list函数
    字符串格式化format使用
  • 原文地址:https://www.cnblogs.com/zeze/p/6564384.html
Copyright © 2011-2022 走看看