黑马程序员java——day06

方法

这就是方法。

注意点

方法重载

需求

主要是方法名该怎么取?对于英文确实是一个考验。

而且就是为了相加就出现折磨多函数,也没办法记住,所以java规定了方法重载,功能相同的函数可以起同样的名字。

只看是否在同一个类,是否是方法名相同,是否参数不同。

而参数不同又分为:个数不同,参数类型不同,顺序不同。

只要有一个不同就可以。

注意,java虚拟机会通过参数的不同来区分同名的方法。

上面是返回值类型不同,但是方法重载与返回值无关,所以不构成重载。

两个方法是否构成重载,与返回值类型无关。

不在一个类中,不构成重载。

方法名一样,形参类型顺序不同,构成重载。

方法调用内存原理

study执行完之后,study方法弹出栈内存。

然后sleep被调用,所以sleep进入栈内存。

基本数据类型和引用数据类型

基本数据类型变量中存储的就是真实值,存放在栈内存中。

而引用数据类型变量存放的是堆内存中的地址,数据存放在堆空间中。

类中的属性没有指定初始化值的话,会有默认值。

封装

面向对象三大特性:封装,继承,多态。

封装就是将一个类应有的属性和行为写到类里面。

private关键字

我们想要的是正确值可以赋值,而不是所有值都不能赋予。出现get和set方法。

就近原则和this关键字

构造方法

不写构造方法会默认调用空构造方法。声明构造方法只会就不会调用空构造方法。

注意:构造方法是负责对象创建好之后进行赋值,而不是创建对象。

注意,new的时候才算创建对象。

标准javaBean类

给类的标准化建议。

对象内存图

整个JVM所占的内存分为五个部分。

每一个模块都有自己的责任,我们需要了解栈,堆,方法区。

实际上成员方法字节码文件在方法区,对空间存的是成员方法的地址。指向方法区该函数。

注意,调用s1.study()的时候,会将study方法加入栈内存,该方法执行结束之后,会将该方法弹出栈。

问题是现在再次new一个Student()类,是否还需要在方法区再次加载Student.class文件,答案是不需要。

从内存角度解释引用数据类型和基本数据类型

this内存原理

因为如果不加this,采用就近原则。

this的作用就是区分局部变量和成员变量。

this的本质是方法调用者的地址值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值