• java代码块


    静态代码块:就是一个有静态关键字标示的一个代码块区域。定义在类中。
    作用:可以完成类的初始化。静态代码块随着类的加载而执行,而且只执行一次(new 多个对象就只执行一次)。如果和主函数在同一类中,优先于主函数执行。

    静态代码块、构造代码块、构造函数同时存在时的执行顺序:静态代码块 -->构造代码块 --> 构造函数;

    Person p = new Person();

    创建一个对象都在内存中做了什么事情?

    1先将硬盘上指定位置的Person.class文件加载进内存。

    2执行main方法时,在栈内存中开辟了main方法的空间(压栈-进栈),然后在main方法的栈区分配了一个变量p。

    3在堆内存中开辟一个实体空间,分配了一个内存首地址值。new

    4在该实体空间中进行属性的空间分配,并进行了默认初始化。

    5对空间中的属性进行显示初始化。

    6进行实体的构造代码块初始化。

    7调用该实体对应的构造函数,进行构造函数初始化。()

    8将首地址赋值给p变量就引用了该实体。(指向了该对象)

    this:代表对象。就是所在函数所属对象的引用。

    this到底代表什么呢?哪个对象调用了this所在的函数,this就代表哪个对象,就是哪个对象的引用。

    2,成员变量存在于堆内存中。

    静态变量存在于方法区中。

    3,成员变量随着对象创建而存在。随着对象被回收而消失。

    静态变量随着类的加载而存在。随着类的消失而消失。

    静态代码块、构造代码块、构造函数同时存在时的执行顺序:静态代码块 à 构造代码块 à 构造函数;

    4.eclipse自动生成类的帮助文档

  • 相关阅读:
    Python-2d形变 动画 表格
    Python-JS (JS介绍~JS的基础数据类型)
    Python-CSS高级 题目
    Python-ccs动画及阴影
    Python-css高级
    Python3 shevel模块,更高级的json序列化数据类型模块(比pickle更高级)
    Python3 第五周大纲(模块,导入方法、import本质,导入优化,模块的分类)
    python3 5月26日 time模块常用时间转换 &datetime()模块学习 random()
    Python软件目录结构
    Python3 json &pickle 数据序列化
  • 原文地址:https://www.cnblogs.com/panxuejun/p/5909651.html
Copyright © 2020-2023  润新知