第二章 方法与方法重载
文章目录
- 第二章 方法与方法重载
- 1.带参数的方法
- 2.方法传参
- 3.构造方法
- 4.构造方法重载
- 5.成员变量和局部变量
第二章 方法与方法重载
1.带参数的方法
-
定义带参数的方法
<访问修饰符> 返回类型 <方法名>(<形式参数列表>) {//方法的主体 }public int add(String name,Integer age){}
-
调用带参数的方法
对象名.方法名(实际参数1, 参数2,……,参数n)
注意:
- 调用方法时不能指定实参类型!
- 形参和实参数据类型、数量要一致!
2.方法传参
基本数据类型和引用数据类型数据在传参时区别:
基本数据类型,操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值。
引用数据类型(类、数组和接口),赋值是把原对象的引用(可理解为内存地址)传递给另一个引用
值传递和引用传递:
基本数据类型:值传递(浅拷贝)
引用数据类型:地址传递(深拷贝)
3.构造方法
访问修饰符 构造方法名 ( ) { //初始化代码
}
无返回值类型,不需要写void、方法名与类名相同(区分大小写)、可以指定参数
- 无参构造方法
Student s1=new Student();
- 带参构造方法
Student stu1=new Student("张三",40);
**作用:**对象初始化(系统提供默认无参构造方法)
4.构造方法重载
-
自定义构造方法
方法名相同、参数项不同、与返回值、访问修饰符无关
-
此时系统不再提供默认无参构造方法
public Student(){}
public Student(String name,int age){this.name=name;this.age=age;
}
带参构造方法this关键字是对一个对象的默认引用这里用以区分同名成员变量
方法重载:
- 同一个类中
- 方法名相同
- 参数个数或类型不同
- 与返回值和访问修饰符无关
this:当前对象
this.属性名
this.方法名
this() 调用构造方法(放在第一条语句)
5.成员变量和局部变量
成员变量和局部变量的区别:
- 作用域不同:
- 局部变量的作用域仅限于定义它的方法
- 成员变量的作用域在整个类内部都是可见的
- 初始值不同:
- Java会给成员变量一个初始值
- Java不会给局部变量赋予初始值
注意:
在同一个方法中,不允许有同名局部变量在不同的方法中,可以有同名局部变量
在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级