bienvenue en classe publique {
public static void main (String[] arguments)
{
/*
* Test 1 : Les méthodes ne peuvent pas modifier les paramètres numériques
*/
System.out.println("Test de tripleValue :");
double pour cent = 10 ;
System.out.println("Avant : percent =" + percent);
pour cent = tripleValue (pour cent);
System.out.println("Après : percent =" + percent); //这里输出为30了!正常的结果
/*
* Test 2 : Les méthodes peuvent changer l'état des paramètres des objets
*/
System.out.println("/nTesting tripleSalary:");
Employé Harry = nouvel Employé("Harry", 50000);
System.out.println("Avant : salaire =" + harry.getSalary());
tripleSalaire(harry);
System.out.println("Après : salaire =" + harry.getSalary());
/*
* Test 3 : les méthodes ne peuvent pas attacher de nouveaux objets aux paramètres de l'objet
*/
System.out.println("/nTesting swap:");
Employé a = nouvel employé("Alice", 70000);
Employé b = nouvel employé("Bob", 60000);
System.out.println("Avant : a =" + a.getName());
System.out.println("Avant : b =" + b.getName());
échanger(a, b);
System.out.println("Après : a=" + a.getName());
System.out.println("Après : b=" + b.getName());
}
public static double tripleValue(double x) // ne fonctionne pas
{
retourner x = 3 * x ;
//System.out.println("Fin de méthode : x=" + x);
}
public static void tripleSalary (Employé x) // fonctionne
{
x.raiseSalary(200);
System.out.println("Fin de méthode : salaire=" + x.getSalary());
}
échange de vide statique public (employé x, employé y)
{
Temporaire de l'employé = x ;
x = oui ;
y = température ;
System.out.println("Fin de méthode : x=" + x.getName());
System.out.println("Fin de méthode : y=" + y.getName());
}
}
classe Employé // classe Employé simplifiée
{
Employé public (Chaîne n, double s)
{
nom = n;
salaire = s ;
}
chaîne publique getName()
{
renvoyer le nom ;
}
public double getSalary()
{
rendre le salaire;
}
public void raiseSalary (double byPercent)
{
double augmentation = salaire * byPercent / 100 ;
salaire += augmentation ;
}
nom de chaîne privé ;
double salaire privé;
}
这是因为静态方法不能对对象产生效果,和静态域一样,它属于类,不属于任何对象。
/*
* Test 2 : Les méthodes peuvent changer l'état des paramètres des objets
*/
System.out.println("/nTesting tripleSalary:");
Employé Harry = nouvel Employé("Harry", 50000);
System.out.println("Avant : salaire=" + harry.getSalary());
tripleSalaire(harry);
System.out.println("Après : salaire=" + harry.getSalary());
/*
* Test 3 : les méthodes ne peuvent pas attacher de nouveaux objets aux paramètres de l'objet
*/
System.out.println("/nTesting swap:");
Employé a = nouvel employé("Alice", 70000);
Employé b = nouvel employé("Bob", 60000);
System.out.println("Avant : a=" + a.getName());
System.out.println("Avant : b=" + b.getName());
échanger(a, b);
System.out.println("Après : a=" + a.getName());
System.out.println("Après : b=" + b.getName());
}
public static void tripleValue(double x) // ne fonctionne pas
{
x = 3 * x ;
System.out.println("Fin de méthode : x=" + x);
}
public static void tripleSalary (Employé x) // fonctionne
{
x.raiseSalary(200);
System.out.println("Fin de méthode : salaire=" + x.getSalary());
}
échange de vide statique public (employé x, employé y)
{
Temporaire de l'employé = x ;
x = oui ;
y = température ;
System.out.println("Fin de méthode : x=" + x.getName());
System.out.println("Fin de méthode : y=" + y.getName());
}
}
classe Employé // classe Employé simplifiée
{
Employé public (Chaîne n, double s)
{
nom = n;
salaire = s ;
}
chaîne publique getName()
{
renvoyer le nom ;
}
public double getSalary()
{
rendre le salaire;
}
public void raiseSalary (double byPercent)
{
double augmentation = salaire * byPercent / 100 ;
salaire += augmentation ;
}
nom de chaîne privé ;
double salaire privé;
}