🕸️Hollow,各位小伙伴,今天我们要做的是第二十二题。
类名作参数进行方法调用的传递问题。
形式参数的问题:
(1)基本类型:形式参数的改变不影响实际参数。实参应该有确定的值,且其值的数据类型级别不能高于对应的形参数据类型的级别,参数的传递相当于赋值语句,即实参的值赋给形参。
(2)引用类型:形式参数的改变直接影响实际参数。参数的传递相当于赋值语句,实参的地址赋给形参,使得形参和实参指向同一个堆内存空间。
(3)如果你看到一个方法需要的参数是一个类名或者接口名,就应该知道这里实际需要的是一个具体的对象。
- public class ArgsTest {
-
- public static void main(String[] args) {
- int a = 10;
- int b = 20;
- Demo d = new Demo();
- int result = d.sum(a, b);// 基本类型作参数传递
- System.out.println(result);
- System.out.println("---------------------------");
- StudentDemo sd = new StudentDemo();
- Student s = new Student();
- sd.method(s); // 引用类型作参数传递
- }
- }
- //形式参数是基本类型
- class Demo {
- public int sum(int a, int b) {
- return a + b;
- }
- }
- //Student是一个引用类型,相当于基本类型中的某个类型,比如int
- class Student {
- public void show() {
- System.out.println("我们爱Java!");
- }
- }
- //形式参数是引用类型
- class StudentDemo {
- public void method(Student s) {
- s.show();
- }
- }