Source: http://www.lirmm.fr/~dony/notesCours/c4-heritJava.pdf