Salve a tutti,
la seguente istruzione
può essere abbreviata con:
Potete spiegarmi o fornirmi dei link a del materiali che spieghi le abbreviazioni in Java??
Questa riga è relativa alla Reflection in Java??
Salve a tutti,
la seguente istruzione
può essere abbreviata con:
Potete spiegarmi o fornirmi dei link a del materiali che spieghi le abbreviazioni in Java??
Questa riga è relativa alla Reflection in Java??
Il metodo
restituisce una classe di tipo MenuInflater che come puoi vedere dal link, fra i vari metodi, possiede c'è anche "inflate(int menuRes, Menu menu)" quindi
nel caso
la riga 1 ottiene l'istanza della classe MenuInflater mentre la riga 2 invoca il metodo inflate sulla variabile inflater.
Utilizzando invece la notazione
si ottiene lo stesso risultato tranne per il fatto che non si passa per la variabile inflater
roobb (31-05-17)
Un dubbio.
Te scrivi: "la riga 1 ottiene l'istanza della classe MenuInflater"
MenuInflater inflater = getMenuInflater();
Ma per creare un'istanza non si deve scrivere:
Nome_Classe Nome_Oggetto = new Nome_Classe();??
Perchè la seconda parte è diversa??
getMenuInflater(); è la chiamata ad un metodo.
Ti faccio un esempio per capire meglio:
Ho una classe chiamata ClasseA definita in quato modo:
Come puoi notare la classe A nel suo metodoB chiama il metodo getMenuInflater() che a sua volta instanzia e restituisce una istanza di MenuInflater.codice:public class ClasseA { public MenuInflater getMenuInflater() { return new MenuInflater(); } public void metodoB() { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_quiz, menu); } public void metodoC() { MenuInflater inflater = new MenuInflater(); inflater.inflate(R.menu.menu_quiz, menu); } }
Il metodo C invece instanzia direttamente il MenuInflater.
In questo esempio entrambi i metodi fanno esattmente la stessa cosa ma in 2 maniere diverse. Spero che questo riesca a farti un po di chiarezza riguardo la tua domanda.
Sì è chiaro. E' solo che è la prima volta che lo vedo scritto un metodo e un'istanziazione in quel modo.
Quindi MenuInflater è un metedo e getMenuInflater() e un altro metodo che istanzia direttamente MenuInflater. Ok.
Mi puoi indicare qualche link al materiale per approfondire questo??