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

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


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

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

  • 相关阅读:
    非冒泡事件的冒泡支持
    js--题目二
    js-- 一些题目
    jQuery 请指出'$'和'$.fn'的区别?或者说出'$.fn'的用途。
    jQuery 请指出'.bind()','.live()'和'.delegate()'的区别
    什么时候不能完全按照设计稿来
    edm注意细节
    响应式设计
    css -- 题目汇总
    什么是Handler(四)
  • 原文地址:https://www.cnblogs.com/dongma/p/9902096.html
Copyright © 2011-2022 走看看