方法补充
1.方法的参数传递
基本数据类型: 作为方法参数传递时,传递的只是值,传递过去之后变量和之前的变量没有关系。
引数数据类型: 作为方法参数传递时,传递的是地址值,所以传递过去之后的新对象用用也是引用相同的内存空间,当时其中一处进行更改,会引起所有对象应用内容的更改。(会有影响)
2.掌握类的构造方法
Student stu = new Student(); // 构造方法
**构造方法:**创建,构建,类的对象的构建和创建的方法。当对象创建时都会被执行!当对象创建事都会被执行! 构造方法最重要的原因就是java给我们提供了能够在对象的创建(生命周期)过程中添加代码的能力。
一般构造方法
-
每一个类默认情况下JVm都会分配一个分配一个无参构造。
-
构造方法没有返回值类型,方法和类名完全相同。
// 无参构造方法 访问修饰符 类名(){ }
-
构造方法分为带参方法和无参方法
// 带参方法可以极大的简化对象的创建和初始化赋值过程
访问修饰符 类名(形参列表){
// 利用形参给成员变量进行赋值
}
- 只要你自己创建任意一个构造方法,那么JVm就不再给你分配无参构造。所以建议无论自己是否编写结构方法,都去手动编写一个默认的无参构造。
3.掌握this关键字
成员变量: 对象变量,实例变量。
this代表着当前类的一个对象,谁的调用谁就是当前对象。
this作为一个对象,可以去调用属性,也可以调用方法。
// 方法内的变量:局部变量
public Cat(String name,int age) {
// 当局部变量名称和成员变量名称相同时,会采用就近原则
// System.out.println(name);
this.name = name;
this.age = age;
}
但是如果要调用自身的构造方法,那么需要注意的是调用必须是在有效代码(不含注解)的第一行。
以为某个构造方法没有执行完毕时,那么属性是不存在的,对象也不存在。
this.name
this.printInfo();
4.掌握成员变量和局部变量的区别
成员变量: 类中属性
局部变量: 方法内变量 Local
- 定义的位置
- 成员变量定义在类中方法外
- 局部变量定义在类中方法内
- 作用域的范围
- 成员变量可以被类中的方法所共用
- 局部变量只能在定义的方法内使用
- 当局部变量和成员变量同名时,会就近采用局部变量
- 生命周期
- 成员变量它是随着对象的创建而产生,随着对象销毁而销毁。
- 局部变量它是随着方法的压栈而产生,随着方法的弹栈而销毁。
- 初始值
- 成员变量有初始值
- 局部变量没有初始值,如果不赋值则不能使用
5.掌握方法重载
方法重载: 发生在一个类中的,方法名相同,参数列表不同(个数,顺序,类型)的情况。与访问修饰符和返回值类型无关。
方法重载的意义在于我们需要定义相同功能的方法,不需要在花费大量时间去定义n种方法名,而未来在调用是体验更佳。
使用时还需要记忆n中方法名。