voilà mon classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
 
public abstract class Personnage 
{
    /* Méthode de déplacement de personnage */
	public void seDeplacer()
	{
		System.out.println("Je me déplace à pied.");
	}
 
	/* Méthode que les combattants utilisent */
	public  void combattre()
	{
		System.out.println("Je ne combat pas!");
	}
 
 
	public class Guerrier extends Personnage 
	{
	 public void combattre() 
	 {
	  System.out.println("Fusil, pistolet, couteau ! Tout ce que tu,! veux !");
	 }
	 }
 
	public class Medecin extends Personnage
	{
		public void combattre()
		{
			System.out.println("Vive le scalpel!");
		}
		public void soigner()
		{
			System.out.println("Je soigne les blessures.");
		}
	}
 
	public class Civil extends Personnage
	{
		public void combattre()
		{
			System.out.println("Je ne combat pas!");
		}
 
	}
 
	public class Chirurgien extends Personnage
	{
 
		public void soigner()
		{
			System.out.println("Je fais des opérations.");
		}
	}
 
	public class Sniper extends Personnage
	{
		public void combattre()
		{
			System.out.println("Je me sers de mon fusil à lunette!");
		}
 
	}
 
	public static void main(String[]args)
	{
 
		Personnage per = new Personnage()
		 {
		 };
		 Personnage[] tPers = { per.new Guerrier(), per.new Chirurgien(), per.new Civil(), per.new Sniper(), per.new Medecin() };
 
		 for(Personnage p:tPers)
		 {
			System.out.println("\nInstance de " + p.getClass().getName());
 
			System.out.println("******************************************************");
			//p.combattre();
			p.combattre();
			p.seDeplacer();
		}		 	
}
	}
dans mon output:

chaque fois avec le Personnage j'ai un $

"Instance de Personnage$Guerrier"

pouvez vous me dire pourquoi svp