Bonjour,
Premier message de ma part.
Je suis totalement novice en Java, retraité, par pure maintenance intellectuelle, je m'amuse à apprendre ce langage.
J'ai eu dans ma carrière pro à me frotter à faible niveau à plusieurs langages informatiques.

Sur les recommandations de ce site, grâce au très bon livre de C. Delannoy j'avance.
J'ai téléchargé les exemples de code pour chaque chapitre du livre.

Cette présentation du bonhomme effectuée, voici ce sur quoi je bute.
Le chapitre 8 traite de l'héritage et du polymorphisme ce fut difficile mais avec beaucoup d'exercices mes neurones ont acceptées de piger.
Les classes imbriquées m'ont particulièrement demandé d'efforts.

Voici la copie du code


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
package solo;
class A {
	void f() {
		System.out.println ("appel f de A") ; }
}
class B extends A {
	void f() {
		System.out.println ("appel f de B") ; }
	public void test() { 
		A a = super ;
		a.f() ;
		super.f() ;
		this.f() ;
	}
}
public class Super {
	public static void main (String args[])
	{ B b = new B() ;
	b.test() ;
	}
}
La méthode test() de la classe B propose la ligne A a = super ;
Le compilateur la refuse obstinément.
En remplaçant super par A() pas de soucis tout baigne.

Est-ce une erreur de copie de fichier ou peut-on instancier un objet avec un super ?
Merci par avance