zoukankan      html  css  js  c++  java
  • 八.Java中的初始化顺序

    1.//!!!在加载类的过程中为静态变量分配内存,实例变量在创建对象时分配内存!!!//

    2.初始化顺序

      1.父类优于子类

      2.创建对象前:static{}/static/static修饰的方法,变量随类加载
         |
      3.创建对象时:代码块/实例化属性->构造器

      4.同样的情况下:同时代码块或同是静态修饰时,是要看它们的语句顺序了

    class a{
        static{
            System.out.println("a static");
        }
        {
            System.out.println("a loading");
        }
        a(){
            System.out.println("a create");
        }
    }
    class b extends a{
        static{
            System.out.println("b static");
        }
        {
            System.out.println("b loding");
        }
        b(){
            System.out.println("b create");
        }
    }
    public class Test3{
        public static void main(String[] args) {
            new b();
        }
    }

    3.一个考虑:创建对象时先有对象还是先创建内存

    4.隐式赋值在new的时候

    5.显式赋值在super之后

    6.子类中非静态属性的显示赋值是在父类构造器执行完之后和子类中的匿名代码块执行之前的时候

     

  • 相关阅读:
    Linux下视频采集及其显示
    编译webcam_server
    mjpgstreamer
    linux下ffmpeg的安装
    armlinuxgcc的命令参数介绍
    ADS1.2如何生成BIN文件
    OpenJTAG下载bootloader 备忘
    Android 3.0 以下 使用Fragment 实例
    Dialog 学习备忘
    CentOS安装wsgi
  • 原文地址:https://www.cnblogs.com/Magic-Li/p/12799393.html
Copyright © 2011-2022 走看看