/**
 * {@link <a href=
 * "https://[Log in to view URL]"
 * target="_blank">Visibilità di una variabile d&#8594;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();
	}
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: