公開課歡迎{
公共靜態無效主(字串[]參數)
{
/*
* 測試1:方法不能修改數值參數
*/
System.out.println("測試三重值:");
雙百分比 = 10;
System.out.println("之前:百分比=”+百分比);
百分比 = TripleValue(百分比);
System.out.println("之後: 百分比 = = + 百分比); //這裡輸出為30了!
/*
* 測試2:方法可以改變物件參數的狀態
*/
System.out.println("/n測試三重薪資:");
員工 Harry = new Employee("Harry", 50000);
System.out.println("之前:薪水 =" + harry.getSalary());
三倍工資(哈利);
System.out.println("之後:薪水=”+harry.getSalary());
/*
* 測試 3:方法無法將新物件附加到物件參數
*/
System.out.println("/n測試交換:");
員工 a = new 員工("Alice", 70000);
員工 b = new 員工("鮑伯", 60000);
System.out.println("之前: a = " + a.getName());
System.out.println("之前: b =" + b.getName());
交換(a,b);
System.out.println("之後:a=" + a.getName());
System.out.println("之後: b=" + b.getName());
}
public static double TripleValue(double x) // 不起作用
{
返回x = 3 * x;
//System.out.println("方法結束: x=" + x);
}
public static void TripleSalary(Employee x) // 有效
{
x.raiseSalary(200);
System.out.println("方法結束:salary=" + x.getSalary());
}
公共靜態無效交換(員工x,員工y)
{
員工溫度=x;
x = y;
y = 溫度;
System.out.println("方法結束: x=" + x.getName());
System.out.println("方法結束: y=" + y.getName());
}
}
class Employee // 簡化的 Employee 類
{
公共僱員(字符串n,雙精度s)
{
名稱=n;
工資=s;
}
公有字串 getName()
{
返回名稱;
}
公共雙 getSalary()
{
返還工資;
}
公共無效 raiseSalary(double byPercent)
{
雙倍加薪 = 薪資 * byPercent / 100;
薪資+=加薪;
}
私有字串名稱;
私人雙薪;
}
這是因為靜態方法不能對物件產生效果,和靜態域一樣,它屬於類,不屬於任何物件。
/*
* 測試2:方法可以改變物件參數的狀態
*/
System.out.println("/n測試三重薪資:");
員工 Harry = new Employee("Harry", 50000);
System.out.println("之前:薪水=" + harry.getSalary());
三倍工資(哈利);
System.out.println("之後:薪水=" + harry.getSalary());
/*
* 測試 3:方法無法將新物件附加到物件參數
*/
System.out.println("/n測試交換:");
員工 a = new 員工("Alice", 70000);
員工 b = new 員工("鮑伯", 60000);
System.out.println("之前: a=" + a.getName());
System.out.println("之前: b=" + b.getName());
交換(a,b);
System.out.println("之後:a=" + a.getName());
System.out.println("之後: b=" + b.getName());
}
public static void TripleValue(double x) // 不起作用
{
x = 3 * x;
System.out.println("方法結束: x=" + x);
}
public static void TripleSalary(Employee x) // 有效
{
x.raiseSalary(200);
System.out.println("方法結束:salary=" + x.getSalary());
}
公共靜態無效交換(員工x,員工y)
{
員工溫度=x;
x = y;
y = 溫度;
System.out.println("方法結束: x=" + x.getName());
System.out.println("方法結束: y=" + y.getName());
}
}
class Employee // 簡化的 Employee 類
{
公共僱員(字符串n,雙精度s)
{
名稱=n;
工資=s;
}
公有字串 getName()
{
返回名稱;
}
公共雙 getSalary()
{
返還工資;
}
公共無效 raiseSalary(double byPercent)
{
雙倍加薪 = 薪資 * byPercent / 100;
薪資+=加薪;
}
私有字串名稱;
私人雙薪;
}