/**
* {@link <a href=
* "https://[Log in to view URL]"
* target="_blank">Visibilità di una variabile d→istanza e locale ( dentro
* un metodo )</a>}
*
* @author itammb ( Italia Massimiliano Buscati )
* @version JDK 1.15
*
*/
class Main {
public static class Scope {
private final static int STATIC_VARIABLE;
static {
STATIC_VARIABLE = 3;
}
private int primitiveNum;
public Scope(int primitiveNum) {
this.primitiveNum = primitiveNum;
}
public void accessToStaticVariable() {
// accesso variabile statica
System.out.println("STATIC_VARIABLE -> " + STATIC_VARIABLE);
System.out.println("Variable.STATIC_VARIABLE -> " + Scope.STATIC_VARIABLE);
}
public void accessToArgCostructor() {
// accesso alla variabile passata come parametro del costruttore
System.out.println("[this] primitiveNum -> " + this.primitiveNum);
}
public void modifyToArgCostructor(int primitiveNum) {
accessToArgCostructor();
// accesso alla variabile passata come parametro del metodo
System.out.println("[arg] primitiveNum -> " + primitiveNum);
// ri-assegnazione e accesso
this.primitiveNum = primitiveNum;
System.out.println("[this] primitiveNum -> " + this.primitiveNum);
}
public void accessToLocalVariable() {
// oggetto locale di tipo -> Variable
Scope variable = new Scope(2);
// accesso alla variabile d'istanza dell'oggetto locale
System.out.println("variable.primitiveNum -> " + variable.primitiveNum);
}
}
public static void main(String[] args) {
// Unit test - d'accesso a una variabile statica
new Scope(0).accessToStaticVariable();
// Unit test - d'accesso alla variabile passata come parametro al costruttore
new Scope(0).accessToArgCostructor();
// Unit test - ri-assegnazione della variabile passata come parametro al
// costruttore
new Scope(0).modifyToArgCostructor(1);
// Unit test - d'accesso a una variabile locale
new Scope(0).accessToLocalVariable();
}
}
To embed this project on your website, copy the following code and paste it into your website's HTML: