定义

三个常见成员 功能 注意点
属性 field 静态特征(数据) java使用默认值对其初始化,见下表
方法 method 动态行为(对数据的操作)
构造器 constructor 初始化对象 是特殊的方法,但也是方法

成员变量初始化值

数据类型 整型 浮点型 字符型 布尔型 所有引用类型
默认值 0 0.0 ‘\u0000’ false null

对象

  • 类近似于模板,而对象就是依据类构造出的实例,一个类可构造出多个实例也是基于代码重用的思想

    内存模型

  • 先处理双引号部分,在堆中生成字符串对象

image.png

  • main方法的栈帧入栈,初始化形参及内部变量

image.png

  • 在堆中实例化对象,main方法栈帧中参数指向堆中实例的地址,堆对象中字符串类型参数赋值堆中字符串实例的地址

image.png

  • 调用study方法,该栈帧入栈,无形参类型只有默认参数this

image.png

  • 方法执行完,栈帧依次出栈

    构造方法

    基础概念

    | 核心作用 | 用于对象的初始化 | | —- | —- | | 声明格式 | [修饰符] 类名(形参列表){
    // n个语句
    } | | 四个要点 |
    1. 通过new关键字来调用
    1. 虽然有返回值,但不能定义返回值类型且不能在内部使用return返回某个值,因为返回值就是本类
    1. 如果没有定义构造器,编译器会自动定义一个无参构造器,已定义编译器则不会自动添加
    1. 构造器的方法名必须与类名一致
    |

创建对象步骤

  1. 分配对象空间,并将对象成员变量初始化为0或空
  2. 执行属性值的显式初始化
  3. 执行构造方法初始化对象(不是创建,是初始化)
  4. 返回对象的地址给相关变量

    构造方法重载

  • 参考不同方法重载