Bonjour, sur un livre de tests java voici un test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 abstract class Bird { protected Bird() { System.out.print("Wow-"); } private final void fly() { System.out.println("Bird"); } }
private final void fly() {System.out.println("Bird");} : cette méthode ne peut être appelée que depuis sa classe et ne peut pas être overridée dans une classe fille. Donc à quoi sert-elle ? et est-ce que private final est possible et ne soulève pas une erreur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class Pelican extends Bird { public Pelican() { System.out.print("Oh-"); } protected void fly() { System.out.println("Pelican"); } static void main(String[] args) { var chirp = new Pelican(); chirp.fly(); } }
dans la classe fille Pelican on a : protected void fly() { System.out.println("Pelican");}. Il semble justement que c'est un override de la méthode précédemment discutée. Ca ne soulève pas une erreur ?








Répondre avec citation
Partager