Java方法参数总结

1.Java程序设计语言总是按值调用(特别的,方法不能修改传递给它的任何参数变量的内容),而不是像C++语言一样可以按引用调用。

For example:

    首先编写一个交换两个雇员对象的方法:

        public static void swap(Employee x,Employee y)

            {

                Employee temp = x;

                x = y;

                y = temp;

                x = temp;

              }

        Employee a = new Employee("Alice"...);

        Employee b = new Employee("Bob"...);

        swap(a,b)         //调用方法

        //Now x refers to Bob,y to Alice

        但是,方法并没有改变存储在变量a和b中的对象引用。swap方法的参数x和y被初始化为两个对象引用的拷贝,最终,在方法结束时参数变量x和y被丢弃了,原来的变量a和b仍然引用这个方法调用之前所引用的对象。

2.一个方法不能修改一个基本数据类型的的参数(即数值型或布尔型)。

3.一个方法可以改变一个对象参数的状态。

For example:

    public static void tripleSalary(Employee x)

        {

            x.raiseSalary(200);               //将一个员工工资提高两倍的方法

         }

当调用

        harry = new Employee(...);

        tripleSalary(harry);

时,具体的执行过程为:

        1)x 被初始化为harry值的拷贝,这里这个值是一个对象的引用。

        2)raiseSalary方法应用于这个对象引用,x 和 harry 同时引用那个Employee 对象的薪金提高了200%。

        3)方法结束后,参数x不再使用,当然,对象变量harry继续引用那个薪金增值3倍的雇员对象

4.一个方法不能让对象参数引用一个新的对象。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值