zoukankan      html  css  js  c++  java
  • java初始化

    一、成员初始化

    1.成员变量没有赋值,则被初始化成默认值。

    2.局部变量没有赋值,编译时报错。

    二、构造器初始化

    1.成员变量在构造器初始化之前,已经被初始化。

    2.变量定义的顺序决定了初始化的顺序。

    三、静态数据初始化

    1.static不能用于局部变量

    2.初始化顺序:先静态对象(之前没有被初始化,因为静态对象只在类被加载的时候初始化一次),然后是"非静态"对象.

    java对象初始化顺序:

    总结:如果有个Dog类

    1.即使没有显式使用static关键字,构造器实际上也是静态方法,因此当第一次创建Dog对象时,或者Dog类的静态变量或方法首次使用时,类加载器就会加载Dog.class.

    2.加载完成后,静态初始化动作都会执行,静态的初始化只在加载类的时候执行一次‘

    3.当用new创建对象时,首先在堆上分配足够的空间

    4.这块存储空间会被清空,自动将Dog对象的所有基本类型都设置成默认值,引用类型被设置null

    5.执行成员变量的初始化动作

    6.执行构造器

    java解释器运行过程:

    1.找出环境变量classpath(.class文件的根目录)

    2.解释器根据包名,解析出路径,在路径下找到编译后的class文件

  • 相关阅读:
    tyvj1117 拯救ice-cream
    codevs3410 别墅房间
    codevs1099 字串变换
    codevs1226 倒水问题
    codevs2449 骑士精神
    codevs1225 八数码难题
    Wikioi 3776 生活大爆炸版石头剪子布
    codevs1197 Vigenère密码
    枚举 + exgcd
    C++ 排序引用的优化
  • 原文地址:https://www.cnblogs.com/chenxiaocai/p/5525472.html
Copyright © 2011-2022 走看看