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