形参:形式参数,指方法定义的时候书写的参数,形参相当于局部变量的声明
形参规定了参数的个数、类型、顺序,指实参必须遵守这个规定
实参:实际参数,指用户调用方法的时候传入的参数,实参相当于局部变量的赋值
方法调用时,一些情况下无需返回结果;另一些情况下则必须返回结果。
如果方法需要返回结果,则将VOID替换为需要返回结果的类型,然后再方法的末尾使用return关键字返回对应类型的值即可。
return表示中断方法并且返回内容。也就是说return关键字之后不能再写代码了。
数组中的元素是有默认值的,当我们给数组开辟空间,默认值即存在。
数组的默认值
整数:0
小数:0.0
布尔:false
字符:\u0000
其他引用数据类型:null
数组作为引用数据类型,引用(名称)存在栈中,值存在堆中
数组引用中保存的是hash值 所以直接打印将输出hash值
值传递,传递的是值的副本,在方法中对值的操作不会影响原来的变量
引用传递,传递的是地址,根据这个地址对数据的操作,会影响原来的变量
String类型是特殊的引用数据类型,作为参数传递不会影响原来的变量
- 可变长参数:可接收多个同类型实参,个数不限(0个或者N个),使用方式与数组相同
* 语法:数据类型... 形参名
* 要求:必须定义在形参列表的最后,且只能有一个。
万物皆对象是指可以将自然界中的任何事物都理解为一个对象。分析其共有的特征,称之为属性;分析其共有的行为,称之为方法。
类是由属性和方法组成的。
类是对象的抽象,对象是类 的具体。
构造方法重载的特点
同一个类中,方法名相同,
参数列表不同(个数,顺序,类型有一个不同即为不同),
与访问修饰符,返回值无关。
实例变量和局部变量的区别
实例变量定义位置在本类中,局部变量在方法中
实例变量默认值与数组相同,局部变量没有默认值
实例变量作业范围在本类中,局部变量在距离当前大括号最近的范围以内
实例变量命名可以与局部变量重名,就近原则,局部变量在重合的作用范围以内,不能重名
实例变量的生命周期随着对象的创建而生效,随着对象被垃圾回收而死亡,局部变量随着方法的入栈而生效,方法的出栈而死亡
实例变量的存储位置全部在堆中,所以才会有默认值,局部变量基本数据类型存在栈中,引用数据类型名存在栈中,值存在堆中
static关键字可以修饰哪些内容,分别有什么特点
属性:静态属性,直接通过类名访问,内存中只有一份拷贝
方法:静态方法中不能使用this和super,不能直接访问实例变量和实例方法,可以访问被static修饰的内容。
代码块:jvm加载类时先加载静态代码块,且只被执行一次。