- 类名作为形式参数:当看到一个方法的形参要一个类类型,就传递一个该类的对象
- 抽象类名作为形式参数:当以后看到一个方法的形参要一个抽象类类型,就传递一个该抽象类的子对象
- 接口名作为形式参数:当看到一个方法的形参要一个接口类型,就传递一个接口的子类对象
示例代码:
//每new一次,就再重新创建一个对象
public class MyTest{
public static void main(String[] args){
Student student=new Student();
set(student,60);
student.show(new student(),80);
System.out.println(student.num);
}
public static void set(Student student,int num){//当你看到一个方法的形参是类 类型时,就传递一个该类的对象
student.num=num;
}
}
class Student{
itn num=20;
public void show(Student student,int num){
student.num=num;
this.num=90;//this指的是当前调用对象,当前调用对象为student
}
}
分析: 初始化 num= 0 然后迅速变为20 进去set(student,60)的方法 引用 传的是地址值 所以将num由20变为60 继续进入show方法 new Student()相当于是一个重新开辟空间的匿名对象(和第一次new的对象没有关系) 此时该空间