文章目录
- 方法的重载
- 面向对象
- 类、属性和方法
- 成员变量默认值
- 属性
- JVM简单内存分析
- 栈空间
- 堆空间
- ==
- 构造方法
- 执行过程
- 构造器注意点
方法的重载
一个类中名称相同,但是参数列表不同的方法
参数列表不同是指:
- 形参类型
- 形参个数
- 形参顺序
面向对象
- field —— 列、字段、属性
- 面向对象和面向过程相辅相成,面向对象离不开面向过程
类、属性和方法
成员变量默认值
字符型 | 布尔型 | 应用类型 |
---|---|---|
\u0000 | false | null |
属性
- 属性用于定义该类或该类对象包含的数据或者说静态特征
- 属性作用范围是整个类体
- 若我们没有手动初始化,则Java会使用默认的值对属性做其初始化
JVM简单内存分析
JVM 中有栈和堆两个重要的空间,但并不代表只有这两个空间
栈空间
存储基本数据类型&引用数据类型地址的空间,
栈空间的特点——有效存储时间固定
有效存储时间固定,是指栈空间中的变量只在其包含本身的最近两个花括号内有效,
花括号内语句运行结束,那么栈空间中存储的数据也会被回收
堆空间
堆空间中存储Java中所有引用类型的值,而栈空间中存的是引用类型的存储空间地址
但凡是遇到new那就是在堆空间中开辟空间,也就是在堆空间中存储
Integar a = new Integar("123");
int b = 123;
==
- 当两边都是基本数据类型时:比较的是值
- 当两边都是引用数据类型时:比较的是地址
- 当一边基本一边引用时:比较值
Integer a = new Integer("123");
int b = 123;
System.out.println(a==b);//true
构造方法
执行过程
- 分配对象空间,并将对象成员变量初始化为0或空
- 执行属性值的显式初始化(若在类中就已经手动赋初值,则这一步才会真正赋值,相当于之前是默认初始化)
- 执行构造方法
- 返回对象的地址给相关的变量
构造器注意点
- 构造器通过new关键字调用
- 构造器虽然有返回值,但是不能定义返回值类型(肯定返回本类),不能在构造器中使用return返回值
- 若没有手动定义构造器,则编译器会自动定义一个无参构造方法
- 构造器的方法名必须和类名保持一致