zoukankan      html  css  js  c++  java
  • 对象的初始化顺序

    public class 初始化顺序 {

        private String kkk="kkk";

        private static String abc="abc";

        {

           System.out.println(非静态快1”);

        }

        {

           System.out.println(非静态快2”);

        }

        static{

           System.out.println(静态快1”);

        }

        static{

           System.out.println(“静态快2”);

        }

        public 初始化顺序()

        {

           System.out.println("构造方法");

        }

        public static void main(String[] args) {

           new 初始化顺序();

        }

    }

     

    输出结果为 静态快1 , 静态快2, 非静态快1, 非静态快2, 构造方法

     

    由上面这个类分析结果如下

     

        1 一个类中可以存在多个静态块与非静态块

        2 多个静态块 一起执行 按照上下顺序

        2类的初始化顺序为   静态属性》非静态属性-》静态块-》非静态块-》构造方法

     

     

    假如还存在父类的话 那么加载顺序是怎样了 例子:

    package com.test;

    class parent{

        private String kkk="kkk";

        private static String abc="abc";

        {

           System.out.println("父非静态块1");

        }

        {

           System.out.println("父非静态块2");

        }

     

        static{

           System.out.println("父静态块1");

        }

        static{

           System.out.println("父静态块2");

        }

        public parent()

        {

           System.out.println("父构造方法");

        }

    }

    public class 初始化顺序 extends parent{

        private String kkk="kkk";

        private static String abc="abc";

        {

           System.out.println("非静态块1");

        }

        {

           System.out.println("非静态块2");

        }

     

        static{

           System.out.println("静态块1");

        }

        static{

           System.out.println("静态块2");

        }

        public 初始化顺序()

        {

           System.out.println("子构造方法"+kkk);

        }

       

        public static void main(String[] args) {

           new 初始化顺序();

        }

    }

     

    显示结果

    父静态块1

    父静态块2

    静态块1

    静态块2

    父非静态块1

    父非静态块2

    父构造方法

    非静态块1

    非静态块2

    子构造方法kkk

     

    类的初始化顺序为   父类静态属性-》子类静态属性-》父类非静态属性-》子类的非静态属性-》父类静态块-》子类静态块》父类非静态属块-》父类的构造方法-》子类非静态属块-》子类的构造方法-

  • 相关阅读:
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9332112.html
Copyright © 2011-2022 走看看