Visibilité des classes et de méthodes, différence?
Bonjour,
je débute en java que j'essai de comparer avec le C++ où on retrouve des similitudes mais je rencontre un problème de compréhension avec le code suivant(qui n'est pas de moi):
Code:
1 2 3 4 5 6 7 8 9 10
| import java.applet.*;
import java.awt.*;
public class HelloHub extends Applet
{
public void paint(Graphics g)
{
g.drawString("Hello les visiteurs du Hub !!!", 30, 30);
}
} |
je ne comprend pas pourquoi sur
Code:
void paint(Graphics g)
est précédé de 'public'.
Le mot public devant 'class HelloHub extends Applet' ne veut pas déjà dire que toute méthodes et attributs de la classe HelloHub seront public par défaut?(et si j'ai bien compris public est le mot par défault si on met rien donc quel pourrait être l'intérêt de le mettre devant la class HelloHub et la fonction paint.
Je ne comprend pas non plus comment la fonction g.drawString s'execute alors que la fonction paint n'est pas appelé.
merci