【重拾Java系列】—— 重载、可变参数、构造器、作用域、this

概述: 主要分为三个专题,包含自己在学习时记载的笔记,突出重点和一些以往不知道的知识。


一、重载

1.对于重载的定义?
重载是Java特有的一种机制,利用同一个方法名来构造多个方法。

2.对于print就是重载的一个例子,可以通过print输出多种数据类型的数据。out 是 PrintStream类型

3.方法重载的主要特点为:方法名相同,参数列表不同,对于返回值类型没与影响。

4.参数列表的不同体现在 参数的数据类型不同或参数的个数不同


二、可变参数

1.可变参数的含义就是参数列表中参数的个数是可变的,可以为 0 个可以为多个

2.可变参数的表现形式参考如下:

public int sum(int ... nums)

3.参数列表的实参可以为数组,从某种意义上讲,可变参数的本质就是数组

4.对于一个参数列表中可变参数至多有一个,而且如果存在普通参数时,可变参数的位置只能在参数列表的最后


三、作用域

1.作用域顾名思义,就是作用的范围。

2.作用域包含两种:成员变量(属性) 和 局部变量。

3.对于方法中和代码块里面的变量都算作局部变量。

4.全局变量具有默认值,不赋值可以直接使用;但局部变量没有默认值,只有在赋值之后才能使用。

5.全局变量 和 局部变量可以同名,访问时遵从就近原则。

6.全局变量的生命周期较长,随着对象的创建而创建,随着对象的销毁而销毁;局部变量随着方法或代码块的执行而创建,随着方法或代码块的结束而销毁。

7.全局变量和局部变量的作用域是不同的:对于局部变量只能应用于本类的方法里;全局变量可以供本类使用,也可以通过在其它类中创建本类的对象而被调用。

8.对于全局变量可以添加访问修饰符,局部变量不可以添加访问修饰符。


四、构造器

1.构造方法又称为构造器,主要的作用是在创建一个对象时,完成对象的初始化。

2.在不声明构造方法时,系统会在创建对象时调用一个默认的构造方法

// 假设为 Power 类
Power(){}

3.构造器的方法名与类名相同,它没有返回值(连void 都不用写),对于参数列表与成员方法的参数列表规则相同。

4.一个类可以定义多个构造器,这也是对重载的应用。

5.当自己为一个类中创建了构造器,那么原来默认的构造器就会被覆盖掉,一般情况下我们都会创建两个构造器,一个有参的、一个无参的(和默认的构造器基本相同,只是访问修饰符可能不同)


五、this

1.什么是this?
在Java虚拟机中,会为每个对象分配一个this,用来代表当前对象

2.this关键字可以用来访问本类的属性
、方法、构造器

3.this最常用的用法是区别当前类的属性和局部变量

4.this访问成员方法的语法:this.方法名(参数列表)

5.访问构造器和访问成员方法类似,但是因为不能在this后写类名,所以this访问构造器的语法为:this(参数列表);

对于访问构造器有很多要求:第一点只能在构造器中使用,一般就是在某一个构造器中访问其他构造器,而且要把这条语句写在这个构造器的第一条
this不能在类定义外部使用,只能在类定义的方法中使用(成员方法、构造方法)


六、几条零散知识点
1.Java的Jvm内存图:

主要分为栈、堆、方法区三个部分。
方法区中包含常量池。

2.对象的创建流程

(1)在方法区中加载类的信息,加载一次可多次使用。
(2)在堆中为对象分配空间,获得对象的地址
(3)完成对象的初始化【三次】

第一次执行默认的初始化,类似于各种数据类型的默认值;
第二次执行显式的初始化,定义在类中的对变量的赋值;
第三次执行构造器的初始化,创建对象时传入的参数与构造器相配合,完成最后的初始化
(4)完成初始化之后需要把对象的地址赋值给对象名。


末尾彩蛋:

在这里插入图片描述
在这里插入图片描述
感谢明星们送来的物资,手动比心。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bow.贾斯汀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值