Java-oo day02 学习笔记 面向对象——方法的重载 / 构造方法 / this的使用 / 内存管理

1.方法的重载

2.构造方法

3.this的使用

4.内存管理


1.方法的重载(overload):

1.1)发生在一个类中,方法名相同,参数列表不同,方法体不同
参数类型的个数, 顺序, 位置有关
跟参数名称, 返回值没关

方法的签名: 方法名+参数列表
1.2)编译器在编译时会根据方法的签名自动绑定调用的方法

2.构造方法:

结构:
类名(有参/无参){
}
2.1 作用是给成员变量赋初值
2.2 与类同名,没有返回值类型(连void都没有)
2.3 创建(new)对象时被自动调用
2.4 若自己没有定义构造方法,则编译期默认提供一个无参构造方法,若自己定义了,则不再默认提供
2.5 构造方法可以重载

3. this的使用:

this指代当前对象,哪个对象调用方法它指的就是哪个对象
只能用在方法中,方法中访问成员变量之前默认有个this.
3.1 this.成员变量名-------------访问成员变量(成员变量与局部变量同名时,this不能省略)

public 方法名(参数1,参数2,参数3..){
this.成员变量=参数1;
this.成员变量2=参数2;
......
}

3.2 this.方法名()----------调用方法(一般都不写)
3.3 this()---------调用构造方法

public 方法名(参数1,参数2,参数3..){
this(给参数1所赋的值,给参数2所赋的值); 具体写几个参数就代表调用几个参数的构造
......
}

this()调用构造的时候必须放在构造的第一行

4.内存管理: 由JVM来管理的

4.1 堆区: 存储new出来的对象地址(包括成员变量),成员变量跟着对象存放在堆区,对象失效,成员变量也失效
4.2 栈区: 局部变量(包括方法的参数),方法调用结束后,局部变量也会失效
4.2 方法区: .class字节码文件(包括方法)
在这里插入图片描述
局部变量和成员变量区别:
1.在类中的位置不同:
成员变量:在类中 方法外
局部变量:在方法中或方法声明上(参数)
2.在内存中位置不同:
成员变量:在堆内存
局部变量:在栈内存
3.生命周期不同:
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在.随着方法调用完毕消失
4.初始化值不用:
成员变量:有默认初始值
局部变量:没有默认初始值,必须定义,赋值,然后再使用

成员变量和局部变量名称可以一样
在方法使用时,采用的是就近原则:意思是说在类中方法外定义了一个成员变量 int num; 然后又在方法中定义赋值了一个局部变量 int num=10; 那么在这个方法中 输出num的值为10
总结:我这个方法中有局部变量,我就要我自己的,没有我就用你的(成员变量)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值