публичный класс, добро пожаловать {
public static void main(String[] args)
{
/*
* Тест 1. Методы не могут изменять числовые параметры.
*/
System.out.println("Тестирование тройного значения:");
двойной процент = 10;
System.out.println("До: процент =" + процент);
процент = тройное значение (процент);
System.out.println("После: процент = = + процент); //这里输出为30了!正常的结果
/*
* Тест 2: методы могут изменять состояние параметров объекта.
*/
System.out.println("/nTesting тройная зарплата:");
Сотрудник Гарри = новый Сотрудник("Гарри", 50000);
System.out.println("До: зарплата =" + harry.getSalary());
тройная зарплата (Гарри);
System.out.println("После: зарплата =" + harry.getSalary());
/*
* Тест 3. Методы не могут присоединять новые объекты к параметрам объекта.
*/
System.out.println("/nTesting swap:");
Сотрудник a = новый сотрудник("Алиса", 70000);
Сотрудник b = новый сотрудник("Боб", 60000);
System.out.println("До: a =" + a.getName());
System.out.println("До: b =" + b.getName());
поменять местами(а, б);
System.out.println("После: a=" + a.getName());
System.out.println("После: b=" + b.getName());
}
public static double trippleValue(double x) // не работает
{
вернуть х = 3 * х;
//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;
х = у;
у = температура;
System.out.println("Конец метода: x=" + x.getName());
System.out.println("Конец метода: y=" + y.getName());
}
}
класс Сотрудник // упрощенный класс Сотрудника
{
публичный сотрудник (строка n, двойной s)
{
имя = п;
зарплата = с;
}
общедоступная строка getName()
{
вернуть имя;
}
общественный двойной getSalary()
{
возврат зарплаты;
}
публичное недействительное повышение зарплаты (двойной процент)
{
двойное повышение = зарплата * на процент/100;
зарплата += повышение;
}
частное имя строки;
частная двойная зарплата;
}
这是因为静态方法不能对对象产生效果,和静态域一样,它属于类,不属于任何对象。
/*
* Тест 2: методы могут изменять состояние параметров объекта.
*/
System.out.println("/nTesting тройная зарплата:");
Сотрудник Гарри = новый Сотрудник("Гарри", 50000);
System.out.println("До: зарплата=" + harry.getSalary());
тройная зарплата (Гарри);
System.out.println("После: зарплата=" + harry.getSalary());
/*
* Тест 3. Методы не могут присоединять новые объекты к параметрам объекта.
*/
System.out.println("/nTesting swap:");
Сотрудник a = новый сотрудник("Алиса", 70000);
Сотрудник b = новый сотрудник("Боб", 60000);
System.out.println("До: a=" + a.getName());
System.out.println("До: b=" + b.getName());
поменять местами(а, б);
System.out.println("После: a=" + a.getName());
System.out.println("После: b=" + b.getName());
}
public static void TripleValue(double x) // не работает
{
х = 3 * х;
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;
х = у;
у = температура;
System.out.println("Конец метода: x=" + x.getName());
System.out.println("Конец метода: y=" + y.getName());
}
}
класс Сотрудник // упрощенный класс Сотрудника
{
публичный сотрудник (строка n, двойной s)
{
имя = п;
зарплата = с;
}
общедоступная строка getName()
{
вернуть имя;
}
общественный двойной getSalary()
{
возврат зарплаты;
}
публичное недействительное повышение зарплаты (двойной процент)
{
двойное повышение = зарплата * на процент/100;
зарплата += повышение;
}
частное имя строки;
частная двойная зарплата;
}