Java Modificatori Di Accesso

INDICE TUTORIAL

Modificatori di ACCESSO

Modificatore di accessoEffetto
Publicvisibile da qualsiasi parte del programma
Privatevisibile solo all’interno della stessa  classe
Protectedvisibile solo dalle classi dello stesso package e da tutte le sottoclassi
Defaultvisibile dallo stesso package e dalle sottoclassi se sono nello stesso package. È la visibilità assegnata di default se non viene specificato nulla.

 

Java Access for control, private, public, and protected

Esempio public

Il metodo o la variabile è visibile ovunque.

public class Animale {
	public int count;

	public static void main(String[] args) {
		Animale a = new Animale();
		a.count = 20;
		
	}
}

Esempio private

Il metodo o la variabile è visibile solo all’interno della stessa  classe.

public class Animale {
	private int count;
}
public class Mucca extends Animale {

	public void hello() {
		
		count = 30;// errore di compilazione, variabile non visibile
	}

}
public class Prova {
	public static void main(String[] args) {
		Mucca a = new Mucca();
		a.count = 20;// errore di compilazione, variabile non visi-bile
		
	}
}

Esempio protected

Il metodo o la variabile è visibile solo dalle classi dello stesso package e da tutte le sottoclassi.

package it;

public class Animale {
	protected int count;
}
package it;


public class Mucca extends Animale {

	public void hello() {
		
		count = 30;
	}

}
package it;

public class Prova {
	public static void main(String[] args) {
		Mucca a = new Mucca();
		a.count = 20;
		
	}
}
package com;

import it.Mucca;

public class cane {
	public static void main(String[] args) {
		Mucca a = new Mucca();
		a.count = 20;// errore di compilazione, campo non accessabi-le (package diverso, siamo in “com” mentre animale è in “it”)

	}
}

Esempio default

Il metodo o la variabile è visibile dallo stesso package e dalle sottoclassi se sono nello stesso package.

package it;
public class Animale {
	 int count;
}

package it;
public class Mucca extends Animale {

	public void hello() {
		
		count = 30;
	}

}

package com;
import it.Animale;
import it.Mucca;
public class cane extends Animale{
	
	public void hello() {
		
		count = 30;// errore di compilazione, campo non accessabile (siamo in package diversi, rispetto a animale)
	}
	
	public static void main(String[] args) {
		Mucca a = new Mucca();
		a.count = 20;// errore di compilazione, campo non accessabi-le (siamo in package diversi, rispetto a animale)

	}
}

Video Lezione sui Modificatori di Accesso in Java

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *