zoukankan      html  css  js  c++  java
  • 类的加载与实例化

    域的默认初始化分为两种:对于静态域,类在装载时对其进行初始化.对于非静态域,在类的实例创建时进行初始化.在默认的初始化前,域的值是不可预测的.
    首先“类的实例化”与“类的加载、连接与初始化”完全是两个不同的阶段,只有“类的加载、连接与初始化”都完成了才能进行“类的实例化”。
    还有一点,静态块里的代码也不是在类被加载时执行,而是在类被初始化时执行的。
    类的加载简单说只是把class文件加载到内存,并没有执行任何代码。


    如:以下代码是合法的
    class A
    {
    static int i=j+1;
    static int j=i+1;
    }
    实际上等于:i=1,j=2

    而下面的代码是非法的
    class B
    {
    int i=1;
    int j=i+1;
    }
    因为非静态变量i在类B实例化前并没有初始化,代码j=i+1无法能到正确的i值.
  • 相关阅读:
    贴图UV动画
    编辑器开发读取LIGHTMAP的脚本
    一个角色旋转身体在向前行走的代码
    第一周
    《大道至简》读后感
    第二周
    Easyui,好的设计思路
    有关反射
    Easyui表格的行编辑
    冒泡排序
  • 原文地址:https://www.cnblogs.com/SALIN/p/1209359.html
Copyright © 2011-2022 走看看