zoukankan      html  css  js  c++  java
  • 类初始化和实例初始化过程

    类初始化过程
    ①,一个类要创建实例需要先加载并初始化该类
    --》main方法所在的类需要先加载和初始化
    ②,一个子类要初始化需要先初始化父类
    ③,一个类初始化就是执行<clinit>() 方法
    --》<clinit>() 由静态类变量赋值代码和静态代码块组成
    --》静态类变量赋值代码和静态代码块从上往下执行
    --》<clinit>() 方法只执行一次


    实例初始化过程
    ①,实例初始化就是执行<init>()方法
    --》<init>()方法可能重载有多个,有几个构造器就有几个<init>()方法
    --》<init>()方法是由非静态实例变量显式赋值代码和非静态代码块,对应构造器代码组成
    --》非静态实例变量显式赋值代码和非静态代码块从上往下执行,而对应构造器方法最后执行
    --》每次创建实例对象,调用对应构造器,执行的就是对应的<init>()方法
    --》<init>方法的首行是super(),即对应父类空参的<init>方法

    非静态方法前面其实有一个默认的对象this
    this 在构造器(或<init>)它表示的是正在创建的对象,当子类在实例化时
    父类的实例方法前面的this就是子类对象

  • 相关阅读:
    51nod 1416 两点 dfs
    Codeforces Round #424 (Div. 2) A-C
    Codeforces Round #423 (Div. 2) A-C
    Codeforces Round #422 (Div. 2) A-C
    HDU 6077 Time To Get Up 模拟
    51nod 1381 硬币游戏 概率
    51nod 1100 斜率最大 计算几何
    hihocoder 1287 : 数论一·Miller-Rabin质数测试 大质数判定
    字典树
    数论
  • 原文地址:https://www.cnblogs.com/dongma/p/9902096.html
Copyright © 2011-2022 走看看