zoukankan      html  css  js  c++  java
  • 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自动生成类的帮助文档

  • 相关阅读:
    CentOS7 配置163 yum源(详细步骤)
    从构建分布式秒杀系统聊聊分布式锁
    互联网架构“高并发”
    互联网架构“高可用”
    FineCMS
    layUI表单事件监听-事件监听机制简化处理
    界面优雅的UI框架layUI
    如果OCX使用onmousedown和onmouseup来决定指令发送和指令停止会不会有问题?
    CSS字体库font-face用法及跨域问题
    RequireJS被外部调用
  • 原文地址:https://www.cnblogs.com/panxuejun/p/5909651.html
Copyright © 2011-2022 走看看