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自动生成类的帮助文档

  • 相关阅读:
    P2045 方格取数加强版
    P2774 方格取数问题
    日记——OI历程
    6.30考试
    6.29考试
    数论...
    6.28数论测试
    洛谷P3802 小魔女帕琪
    hosts
    博客设置
  • 原文地址:https://www.cnblogs.com/panxuejun/p/5909651.html
Copyright © 2011-2022 走看看