今天做作业遇到方法中的参数类型是类类型的;有点懵。所以上网查了一些资料,并且和参数类型是基本数据类型的比较了一下。
1方法参数类型是基本数据类型的:
public void test(int a) {
a=6;
System.err.println(a);
}
public static void main(String[] args) {
Student student= new Student();
Damo4 t= new Damo4();
t.test(10);
}
}
运行结果:
依然是6,说明了如果方法中的形参类型是基本数据类型,那么在方法体中对实参的修改不会影响形参的值
2 方法中的参数类型是类类型的:
如果在方法体中修改形参指向修改的内容,则会
对实参变量的数值产生影响,因为形参变量和实参变量共享同一块堆区;
说白了,当参数类型是类类型的,其实就是该类的对象,一个地址
public class Damo4 {
//类名作为形式参数,要的其实是该类的对象
public static void main(String[] args) {
// TODO Auto-generated method stub
Teacher t= new Teacher();
//因为teacher类中的形式参数是Student S,所以要创建一个Student对象
Student student= new Student();
t.test(student);
}
}
class Student{
public void study() {
System.out.println("好好学习,天天向上11");
}
}
class Teacher{
public void test(Student s) {
s.study();
}
}
以上代码也可以写成一下形式