Comme les champs, les méthodes peuvent être déclarées static. On peut alors les appeler comme méthode de la classe. Par exemple toutes les méthodes de la classe Math sont static.
Une méthode static ne peut utiliser que les variables static ou les autres méthodes static. Par exemple aucune des méthodes que nous avons créées pour Boite ne pourrait être déclarée static car elles font toutes appel aux champs non statiques hauteur, profondeur, largeur.
En revanche la méthode main d'un programme est static : un programme est une classe qui n'est pas destinée à être instanciée. Donc chacun des champs créés dans la classe programme en dehors de la méthode main devra être static si on souhaite pouvoir l'utiliser dans le main.
Une méthode peut également être déclarée private : dans ce cas elle ne peut être utilisée que depuis l'intérieur de la classe.
Déclarer explicitement public ou private champs et méthodes est une bonne habitude qui oblige à réfléchir à l'accessibilité qu'on souhaite leur donner.