zoukankan      html  css  js  c++  java
  • 类初始化顺序

    package staticinit.one;
    
    public class ClassInitOrder {
        public static void main(String[] args) {
            new Son();
            /*
             * Father staticVal print()...
             * Father staticBlock print()...
             * Son staticVal print()...
             * Son staticBlock print()...
             * Father instanceVal print()...
             * Father instanceBlock print()...
             * Father constructor...
             * Son instanceVal print()...
             * Son instanceBlock print()...
             * Son constructor...
             */
        }
    }
    
    class Father {
    
        private static String staticVal = print("staticVal");
        private String instanceVal = print("instanceVal");
        {
            print("instanceBlock");
        }
        static {
            print("staticBlock");
        }
    
        public Father() {
            System.out.println("Father constructor...");
        }
    
        public static String print(String name) {
            System.out.println("Father " + name + " print()...");
            return null;
        }
    }
    
    class Son extends Father {
    
        private static String staticVal = print("staticVal");
        private String instanceVal = print("instanceVal");
        {
            print("instanceBlock");
        }
        static {
            print("staticBlock");
        }
    
        public Son() {
            System.out.println("Son constructor...");
        }
    
        public static String print(String name) {
            System.out.println("Son " + name + " print()...");
            return null;
        }
    
    }

    注:域和块的初始化先后顺序取决于其在类中的位置先后。(类的域、块与类的方法有何却别,为何域和块会自动被初始化,而方法不会被初始化?)
    这里写图片描述

  • 相关阅读:
    vmware中三种网络连接方式
    【史上最全面经】各岗位汇总目录
    史上最全2019届秋招备战攻略
    程序员常用软件
    经典大数据面试题
    春招实习终于结束啦
    Java程序员自我介绍
    java一些面试题
    收割大厂offer需要具备的条件
    triangular distribution
  • 原文地址:https://www.cnblogs.com/wjc920/p/9256176.html
Copyright © 2011-2022 走看看