Java初学笔记6
1.类中方法的传参机制
(1)传参若为基本数据类型,传递的是值,形参的任何改变不影响实参
(2)传参若为引用数据类型,传递的是地址值,形参的改变影响实参
分析:
2.方法重载
允许同类中,多个同名方法存在,但形参不能相同(类型、个数、顺序),返回类型无要求。
优点:减少了起名带来的负担
3.递归执行机制内存图
4.可变参数
(1)可将符合:同一类中,同名,同功能,但是参数个数不同的方法,用可变参数封装成一个方法。
eg. public int methodName(int … nums){…}
(2)可变参数的实参可以是数组,其本质也就是一个数组
(3)可变参数可与普通类型的参数一起使用,但位置要放在最后面,且可变参数的个数只能有一个。
5.全局变量与局部变量
6.javap 反汇编指令
7.构造器(构造方法)
一、语法
(1)[修饰符] 方法名 (形参列表){方法体;}
(2)没有返回值,但是不能写void
(3)构造器名字与类的名字相同
(4)构造器的使用由系统自动调用完成
二、细节
(5)构造器的作用是完成对象的初始化,而不是创建对象
(6)构造器可以被重载
(7)若没有人为定义的构造器,系统默认自动生成一个无参构造器;若人为定义构造器,则默认的构造器则会被覆盖;若在人为定义构造器之后还想保留默认构造器,则需要显示表示出来。例如 Dog ( ) { }
8.有关构造器的对象创建流程分析
(1)方法区加载类信息,且只加载一次
(2)堆中开辟对象空间
(3)对象默认初始化(int -> 0 double -> 0.0 …),再显示初始化
(4)再看构造器完成对象的初始化
(5)将堆中对象的地址返回给栈
9.this
(1)jvm会给每个对象分配this,用来指向当前对象
(2)在对象创建时,隐藏在对象堆中
(3)this可用来访问本类属性、方法、构造器
(4)用于区别属性和局部变量
(5)访问成员:this.方法名(参数列表)
(6)访问构造器:this(参数列表)
注意:(6)只能在构造器中使用该语句访问其他构造器;且该语句应放在第一条执行
10.this的内存分析
this练习题:
部分图片来自B站韩顺平老师
11.类与对象练习题