2015-11-06 2 views
0

Exemple de code:devrait classe imbriquée être déclarée comme statique si seulement utilisé dans clas wrapper

class A { 
    public doSomethingFancy() { 
     ..... 
     doJOb(); 
    } 
    private doJob() { 
     B b = new B(); 
    } 

    private class B { 
    } 
} 

classe B est seulement nécessaire pour la classe A .Ou est utilisé uniquement en classe A.

Est-il nécessaire de déclarer la classe B comme static? oui/non Pourquoi?

+0

"Classe interne déclarée statique" est une contradiction dans les termes. – EJP

Répondre

0

Vous déclarez B statique s'il n'a pas besoin d'accéder à l'objet A pour lequel il a été créé.

Vous déclarez B privé si seulement A doit l'utiliser ou si d'autres clients l'utilisent uniquement via ses interfaces implémentées.

+0

Donc, dans mon cas, B devrait être statique et privé –