您的位置:首页 > 编程语言 > Java开发

java方法参数的使用

2018-03-07 15:28 127 查看
关于Java中方法参数的使用情况:1一个方法不能修改一个基本数据类型的参数(即数值型或布尔型)。 –> 见ParamTest之Test 1
2一个方法可以改变一个对象参数的状态。–> 见ParamTest之Test 2
3一个方法不能让对象参数引用一个新的对象。–>见ParamTest之Test 3
ParamTest.java:
/**
*This program demonstrates parameter passing in Java.
*@version 1.01 2016-12-28
*@author NPJ
*/

public class ParamTest {
public static void main(String[] args) {

/*
*Test 1: Methods can't modify numeric parameters
*一个方法不能修改一个基本数据类型的参数(即数值型或布尔型)
*/

System.out.println("Testing tripleValue:");
double percent = 10;
System.out.println("Before:percent=" + percent);
tripleValue(percent);
System.out.println("After:percent=" + percent);

/*
*Test 2: Methods can change the state of object parameters
*一个方法可以改变一个对象参数的状态
*/

System.out.println("\nTesting tripleSalary:");
Employee harry = new Employee("Harry",50000);
System.out.println("Before:salary=" + harry.getSalary());
tripleSalary(harry);
System.out.println("After:salary=" + harry.getSalary());

/*
*Test 3:Methods can't attach new objects to object parameters
*一个方法不能让对象参数引用一个新的对象
*/

System.out.println("\nTesting swap:");
Employee a = new Employee("Alice",70000);
Employee b = new Employee("Bod",60000);
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) { //doesn't work
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 mehod:salary=" +     x.getSalary());
}

public static void swap(Employee x,Employee y) {
Employee temp;
temp = x;
x = y;
y = temp;
System.out.println("End of method:x=" + x.getName());
System.out.println("End of method:y=" + y.getName());
}
}

class Employee {

private String name;
private double salary;

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

4000
}

public String getName() {
return name;
}

public double getSalary() {
return salary;
}

public void raiseSalary(double byPercent) {
double raise = salary * byPercent / 100;
salary += raise;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: