2012-09-08 11 views
9

Perché un metodo privato non è presente quando si utilizza javap classname nella console dopo aver compilato il file java?Metodo privato non presente quando si utilizza il nome della classe javap

class A 
{ 
    private void one(){} 
    public void two(){} 
    protected void three(){} 
} 
+0

In generale si otterrà le risposte più utili se siete in grado di spiegare un po 'di più su contesto perché è importante . In questo caso la risposta è essenzialmente "perché non lo è". Se fornisci maggiori informazioni sul problema più ampio che stai cercando di risolvere e che è ostacolato non elencando i metodi privati, è probabile che tu possa ottenere un ulteriore aiuto nella risoluzione del problema originale. – EdC

risposta

17

metodi privati ​​non vengono visualizzati per impostazione predefinita, è necessario utilizzare:

javap -private A 
+0

sì, funziona, ma c'è qualche ragione particolare per farlo? –

+0

Probabilmente perché la stragrande maggioranza dei casi d'uso richiede solo metodi 'public' e' protected' da mostrare e quindi i metodi 'private' opzionali hanno senso :) – Reimeus

+0

@manishgupta non dimenticare di accettare questa risposta :) – Reimeus