参数传递
在调用一个方法时,我们经常传入我们需要的参数,对于基本类型的传入,在执行方法时直接用即可,这里仅介绍几种引用类型的参数传递
- 类名作为形式参数
如果一个方法的形参要一个类 类型,就传入一个该类的对象
package org.westos.demo2;
public class MyTest {
public static void main(String[] args) {
Student student = new Student();
//调用方法,传入该类对象
method(student,30);
System.out.println(student.num);
}
public static void method(Student student,int num){
student.num = num;
}
}
class Student{
int num = 2;
public void method(Student student,int num){//参数类型为类 类型
student.num= num;
}
}
根据代码可知,创建对象时完成初始化,此时对象里的的num时2,在调用方法时,传入30,替代了原来的2,所以最后的输出是30;如果在调用方法时,是重新创建一个对象并调用方法,那么在主方法里输出的num就是第一次创建对象时的初始化num=2
- 抽象类名作为形式参数
如果一个方法的形参要一个抽象类 类型,就传入一个该抽象类的子类对象
package org.westos.demo2;
public class MyTest {
public static void main(String[] args) {
MyClass myClass = new MyClass();
//调用方法,传入抽象类的子类对象
method(myClass,15);
System.out.println(myClass.num);
}
//定义方法,传入抽象类 类型参数
public static void method(Student student,int num){
student.method(num);
}
}
abstract class Student{//抽象类
int num = 2;
public abstract void method(int num);
}
class MyClass extends Student{//定义抽象类的子类
int num = 10;
public void method(int num){
this.num = num;
}
}
3. 接口名作为形式参数
如果一个方法的形参要一个接口 类型,就传入一个该接口的子类对象
package org.westos.demo2;
public class Test3 {
public stat