回顾方法的调用、值传递、引用传递

回顾方法的调用、值传递、引用传递,第1张

回顾方法的调用、值传递、引用传递

1.静态调用非静态

package base.oop;

public class Demo03 {
    public static void main(String[] args) {
        //1.要调用非静态类的方法,需要先将其实例化对象才可以调用
     int i=new Demo03().add(1,2);
        System.out.println(i);

        
    }
    public int add(int a,int b){
        return a+b;
    }
}

2.值传递

package base.oop;

public class Demo04 {
    //值传递
    public static void main(String[] args) {
        int a=1;
        System.out.println(a);
        Demo04.change(a);//
        System.out.println(a);//输出结果一定等于1.因为java是值传递
    }
    
    //第一种形式
    public static  int change(int a){  //a只是一个 形式参数
         a=10;
         return a;
    } 
    
    //第二种形式
    
    
}

3.引用传递 :引用传递的本身还是值传递

package base.oop;

import javax.xml.namespace.QName;

public class Demo05 {
    //引用传递:对象,本质还是值传递
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(person.name);//null
        Demo05.change(person);
        System.out.println(person.name);


    }
    ///
    public static  void change(Person person){  //a只是一个 形式参数
        //person是一个类,指向的是最后面的String name,改变的是最后面那个实际的Person 的name
        person.name="傻逼";
    }

}
/
//定义了一个Person类,有一个属性name
class Person{    //一个类里面只能有一个public,但是可以有多个class
    String name;

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5661099.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存