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

    一、类初始化过程

    1、一个类要创建实例需要先创建和加载

         (1) main方法所在的类需要先加载和实例化

    2、一个子类要初始化,需要先初始化父类

    3、一个类初始化就是执行<clinit>方法

          (1) <clinit>() 方法由静态类变量显示赋值代码和静态代码块组成。

          (2) 静态类变量赋值海马和静态代码块从上到下顺序执行

          (3)<clinit>() 方法只执行一次

    二、实例初始化过程(有父类时,父类先开始初始化)

    1、实例初始化就是执行<init>()方法

           (1)<init>()方法可能重载有多个,有几个构造器就有几个<init>方法

           (2)<init>()方法由非静态实例变量显示赋值代码和非静态代码块、对应构造器代码组成

        (3)非静态实例变量显示赋值代码和非静态代码块从上到下顺序执行,构造器的代码最后执行

        (4)每次创建实例对象,调用对应构造器,执行的就是对应的<init>方法

        (5)<init>的方法的首行是super()或super(实参列表),即对应的父类<init>方法

    注:子类如果重写了父类的方法,通过子类对象调用的一定是子类重写过的代码

            非静态方法默认的调用对象是this

            this对象在构造器或者说<init>方法中就是正在创建的对象

  • 相关阅读:
    非科班学习路线
    非科班秋招面试总结
    招银网络Java面经
    派分糖果
    修改CentOS7网卡名称为传统名称eth0格式
    浅谈$* 和$@的区别
    Cobbler无人值守安装
    使用kickstart + pxe 部署无人值守安装
    CentOS 7 忘记root密码解决方法
    linux系统开机流程详解
  • 原文地址:https://www.cnblogs.com/pxblog/p/11567790.html
Copyright © 2011-2022 走看看