Java方法参数使用

版权声明:本文为博主原创文章,转载附上地址就可以啦,多交流,一起进步。 https://blog.csdn.net/weixin_30363263/article/details/84303321

Java 中方法参数的使用情况:

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

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

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

这三句话需要怎么理解呢?下面用具体的实例来演示这个过程:

public class PramTest {
    public static void main(String[] args){
        
        //测试一
        double percent=10;
        System.out.println("Before:percent="+percent);
        tripleValue(percent);
        System.out.println("After:percent="+percent);
        System.out.println("*******************");
        
        //测试二
        Employee mike=new Employee("Mike",5000);
        System.out.println("Before:salary="+mike.getSalary());
        tripleSalary(mike);
        System.out.println("After:salary="+mike.getSalary());
        System.out.println("*******************");
        
        //测试三
        Employee a = new Employee("Alice",3000);
        Employee b = new Employee("Bob",7000);
        System.out.println("Before:a="+a.getName());
        System.out.println("Before:b="+b.getName());
        swap(a,b);
        System.out.println("After:a="+a.getName());
        System.out.println("After:b="+b.getName());
    }

    public static void tripleValue(double x){
        x = 3*x;
        System.out.println("End of method: x="+x);
    }

    public static void tripleSalary(Employee x){
        x.raiseSalary(200);
        System.out.println("End of method: salary="+x.getSalary());
    }

    public static void swap(Employee x,Employee y){

        Employee temp=x;
        x=y;
        y=temp;
        System.out.println("End of method: x="+x.getName());
        System.out.println("End of method: y="+y.getName());
    }

}
public class Employee {

    private String name;
    private double salary;

    public Employee(String n,double s){
        name = n;
        salary = s;
    }

    public String getName(){
        return name;
    }

    public double getSalary() {
        return salary;
    }

    public void raiseSalary(double byPercent){
        double raise = salary * byPercent/100;
        salary +=raise;
    }
}

运行结果:

猜你喜欢

转载自blog.csdn.net/weixin_30363263/article/details/84303321
今日推荐