Une fonction statique peut instancier un objet, tout comme tu pourrais le faire dans n'importe quelle autre fonction. Ton exemple illustre une des utilisations des fonctions statiques: elles peuvent faire office de constructeur, pour pouvoir avoir différents constructeurs nommés (tu fais Livre2 livre = Livre2.lireLivre() plutôt que Livre2 livre = new Livre2(), et tu pourrais en définir d'autres avec des noms différents alors qu'avec le constructeur t'es bloqué tu ne peux en créer qu'un qui ne prend pas d'arguments )
Cependant ce n'est pas le seul cas d'utilisation, typiquement tu vas utiliesr un static à partir du moment où tu n'as pas besoin d'avoir un objet instancié au moment de l'appel de la fonction, comme ça tu peux effectivement utiliser ta fonction sans avoir d'instance vu que y'en a pas besoin de toute manière
Message édité le 30 août 2018 à 00:37:35 par angivore