Il mio Java è arrugginito, quindi per favore portami con me. In C che posso fare:Uso della classe corrente nella dichiarazione del metodo statico Java
int someFunc(void)
{
printf("I'm in %s\n", __func__);
}
In Java, posso lessicalmente arrivare al nome o classe del tipo di corso di definizione. Per esempio, se ho:
import org.apache.log4j.Logger;
class myClass {
private static final Logger logger = Logger.getLogger(myClass.class);
...
}
sembra sbagliato ripetere "myClass" nell'argomento getLogger(). Voglio "getLogger (__ CLASS__)" o "getLogger (this.class)" o qualcosa del genere. (So che entrambi sono stupidi ma dovrebbero puntare a ciò che sto cercando.) Il compilatore Java non sa davvero quale classe è nel mezzo di quando elabora l'origine?
Si potrebbe anche avere come variabile di istanza e l'uso "this.getClass()". Usare l'attributo di istanza sarebbe un'idea migliore, a meno che ovviamente non ne abbia davvero bisogno come attributo di classe. – OscarRyz
il compilatore sa che classe è, ma non sapevi quale classe stai scrivendo? scusa, sto scherzando ... Ho avuto questo problema - quasi lo stesso codice - ma non ho trovato niente di meglio di MyClass.class: -/ho bisogno di avere un IDE carino con i modelli di codice e refactoring ... –
Desidero Java aveva questo. Consiglierei la sintassi 'static.class'. – Boann