Here's my problem :
I have a class Piece that has method getName that return "P" (its just an example)
I have another class King that extends Piece and has redefined the getName method to return "K".

Now I have an array of Piece (Piece[] array) (in this array there are object of instance King)
When I call the getName from all these object I always get "P" from all objects. 
I want to get "k" from King object and "P" from Piece object.
Here's an example :

```
Piece[] p = new Piece[1];
p[0] = new King();
p[0].getName() //I got "P" not "K"

```

How to resolve my problem?

Thanks.