带参数的方法
定义带参数的方法
<访问修饰符> 返回类型 <方法名>(<形式参数列表>) {
//方法的主体
}
调用带参数的方法
对象名.方法名(参数1, 参数2,……,参数n)
方法传参
-
基本数据类型和引用数据类型数据在传参时区别:
基本数据类型,操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值。引用数据类型(类、数组和接口),赋值是把原对象的引用(可理解为内存地址)传递给另一个引用 -
举例:
public class Test {
public void calc1(int num){
num=num+1;
}
public void calc2(Student student){
student.age=student.age+1;
}
}
//测试类
Test test=new Test();
int n=8;
test.calc1(n);
Student stu=new Student();
stu.age=18;
test.calc2(stu);
System.out.println(n+"---"+stu.age);
结果为:8—19
课堂笔记
- 参数:
基本数据类型做参数时,传递的是值,不能出方法的范围
引用数据类型做参数时,传递的是地址,可以影响方法外部
特殊:String做参数,等同于基本数据类型(原因:它是不可改变的)
构造方法
访问修饰符 构造方法名 ( ) {
//初始化代码
}
- 无返回值类型
- 方法名与类名相同
- 可以指定参数
- 无参构造方法,每个类都有个默认无参构造方法
课堂笔记
虚拟(对象创建)工作原理:
由类加载器,调用构造方法,如果该类没有构造方法,
则使用object类的默认构造方法
构造方法重载
- 自定义构造方法:
方法名相同
参数项不同
与返回值、访问修饰符无关
此时系统不再提供默认无参构造方法
public Student(){}
public Student(String name,int age){
this.name=name;
this.age=age;}
方法重载
- 同一个类中
- 方法名相同
- 参数个数或类型不同
- 与返回值、访问修饰符无关
成员变量和局部变量
public class AutoLion{
变量1类型 变量1;//成员变量
变量2类型 变量2;//成员变量
变量3类型 变量3;//成员变量
public 返回类型 方法1(){
变量4类型 变量4; //局部变量
}
public 返回类型 方法2(){
变量5类型 变量5; //局部变量
}
成员变量和局部变量的区别
- 作用域不同
局部变量的作用域仅限于定义它的方法
成员变量的作用域在整个类内部都是可见的 - 初始值不同
Java会给成员变量一个初始值
Java不会给局部变量赋予初始值