public class OuterClass
{
private String messaggio = "Siamo nella classe";
private static String messaggioStatico = "Siamo nella classe statica";
//se chiamo questo metodo di Outer Class cosa stamperà?
public void stampaMessaggio()
{
System.out.println(messaggio + " esterna");
}
//classe INTERNA e pubblica, la si istanzia come visto nel video?
public class InnerClass
{
//metodo interno alla classe INTERNA
public void stampa()
{
System.out.println(messaggio + " interna");
}
}
//metodo all'interno del quale è stata definita una classe
public void metodoConClasse()
{
//perché è dichiarata final? Posso non dichiararla final?
final int localInt = 5;
//classe INTERNA al METODO della classe ESTERNA
class classeInMetodo
{
//se tolgo questa istruzione, posso non dichiarare final la variabile localInt di metodoConClasse?
int classInt = localInt;
}
}
//classe INTERNA e STATICA?
public static class StaticClass
{
//metodo della classe statica interna
//posso renderlo un metodo statico?
//posso rendere i metodi delle altre classi statici?
public void stampa()
{
System.out.println(messaggioStatico + " interna");
}
}
//classe INTERA e PRIVATA, posso istanziarla come abbiamo fatto con InnerClass?
private class PrivateClass
{
public void stampa()
{
System.out.println(messaggio + " interna e privata");
}
}
}