2-22 方法、面向对象、类、JVM内存、构造方法

方法的重载

一个类中名称相同,但是参数列表不同的方法
参数列表不同是指:

  1. 形参类型
  2. 形参个数
  3. 形参顺序

面向对象

  1. field —— 列、字段、属性
  2. 面向对象和面向过程相辅相成,面向对象离不开面向过程

类、属性和方法

成员变量默认值

字符型布尔型应用类型
\u0000falsenull

属性

  1. 属性用于定义该类或该类对象包含的数据或者说静态特征
  2. 属性作用范围是整个类体
  3. 若我们没有手动初始化,则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

构造方法

执行过程

  1. 分配对象空间,并将对象成员变量初始化为0或空
  2. 执行属性值的显式初始化(若在类中就已经手动赋初值,则这一步才会真正赋值,相当于之前是默认初始化)
  3. 执行构造方法
  4. 返回对象的地址给相关的变量

构造器注意点

  1. 构造器通过new关键字调用
  2. 构造器虽然有返回值,但是不能定义返回值类型(肯定返回本类),不能在构造器中使用return返回值
  3. 若没有手动定义构造器,则编译器会自动定义一个无参构造方法
  4. 构造器的方法名必须和类名保持一致
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值