パブリッククラスへようこそ {
public static void main(String[] args)
{
/*
* テスト 1: メソッドは数値パラメータを変更できない
*/
System.out.println("tripleValue をテストしています:");
2 パーセント = 10;
System.out.println("前: パーセント =" + パーセント);
パーセント = TripleValue(パーセント);
System.out.println("後: パーセント =" + パーセント); //今回の出力は30了です!正常な結果
/*
* テスト 2: メソッドはオブジェクト パラメーターの状態を変更できる
*/
System.out.println("/nTesting TripleSalary:");
従業員ハリー = 新しい従業員("ハリー", 50000);
System.out.println("前: 給与 =" + harry.getSalary());
トリプルサラリー(ハリー);
System.out.println("後: 給与 =" + harry.getSalary());
/*
* テスト 3: メソッドが新しいオブジェクトをオブジェクト パラメーターにアタッチできない
*/
System.out.println("/nスワップのテスト:");
従業員 a = 新しい従業員("アリス", 70000);
従業員 b = 新しい従業員("ボブ", 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("メソッドの終了:給与=" + x.getSalary());
}
public static void swap(従業員 x, 従業員 y)
{
従業員の温度 = x;
x = y;
y = 温度;
System.out.println("メソッドの終了: x=" + x.getName());
System.out.println("メソッドの終了: y=" + y.getName());
}
}
class Employee // 簡略化された Employee クラス
{
公務員(文字列 n, double s)
{
名前 = n;
給与 = s;
}
パブリック String getName()
{
名前を返します。
}
public double getSalary()
{
給与を返還する。
}
public void raiseSalary(double byPercent)
{
倍増額 = 給与 * パーセント / 100;
給与 += 昇給;
}
プライベート文字列名。
民間の二重給与。
}
これは、静的アプローチは対象に対して効果を生み出すことができず、静的領域も同様に、どの対象にも属さないためである。
/*
* テスト 2: メソッドはオブジェクト パラメーターの状態を変更できる
*/
System.out.println("/nTesting TripleSalary:");
従業員ハリー = 新しい従業員("ハリー", 50000);
System.out.println("前:給与=" + harry.getSalary());
トリプルサラリー(ハリー);
System.out.println("後:給与=" + harry.getSalary());
/*
* テスト 3: メソッドが新しいオブジェクトをオブジェクト パラメーターにアタッチできない
*/
System.out.println("/nスワップのテスト:");
従業員 a = 新しい従業員("アリス", 70000);
従業員 b = 新しい従業員("ボブ", 60000);
System.out.println("前: a=" + a.getName());
System.out.println("Before: 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("メソッドの終了:給与=" + x.getSalary());
}
public static void swap(従業員 x, 従業員 y)
{
従業員の温度 = x;
x = y;
y = 温度;
System.out.println("メソッドの終了: x=" + x.getName());
System.out.println("メソッドの終了: y=" + y.getName());
}
}
class Employee // 簡略化された Employee クラス
{
公務員(文字列 n, double s)
{
名前 = n;
給与 = s;
}
パブリック String getName()
{
名前を返します。
}
public double getSalary()
{
給与を返還する。
}
public void raiseSalary(double byPercent)
{
2 倍の昇給 = 給与 * パーセント / 100;
給与 += 昇給;
}
プライベート文字列名。
民間の倍額給与。
}