Java modificadores de acceso para distinguir explicar, por defecto, protegido, de público y privado

Aquí Insertar imagen DescripciónPara lograr la encapsulación (mediante barreras de control de acceso):
Java esos detalles deben ser controlados mediante el uso de acceso de paquete especificador, esos detalles necesita ser expuesta.
Hay cuatro tipos de caracteres de control de acceso son: privada, por defecto, protegido, público , explicar la encapsulación de los objetos, los derechos de acceso pueden descentralizarse al nivel más bajo posible, a través de ellos, mejorando así la seguridad.

Un modificador similar con un moño de todas las clases
Privado *
default * * (La razón por la que puede acceder el mismo paquete de sub-clase porque la pantalla es el mismo paquete)
protegida * * *
público * * * *

Descripción:
1, privado representan privada, sólo se puede acceder a su propia clase
2, por defecto significa que no hay símbolo de modificación, la misma clase puede tener acceso a un paquete de
3, lo que indica protegida protección, el mismo paquete de las clases y subclases de otros paquetes también puede visitar
4, la divulgación pública representa todos los paquetes pueden tener acceso a todas las clases
Nota :. "nombre de clase". "ejemplos" de modo de acceso o en la forma, con referencia a las circunstancias específicas de uso. (De uso general "ejemplo". En la forma de nombre de la clase. Miembros y métodos generalmente estáticos)

El código es el caso

package com.it.package1;

public class ClassOne {
	
	private  int privateProp;
	
	 int defaultProp;
	
	 protected int protectedProp;
	
	 public int publicProp;
	
	
	void testSameClass(){
		privateProp = 0;
		
		defaultProp = 0;
		
		protectedProp = 0;
		
		publicProp = 0;
	}
	

}
package com.it.package1;

public class ClassOneStatic {
	
	private static int privateProp;
	
	static int defaultProp;
	
	static protected int protectedProp;
	
	static public int publicProp;
	
	
	void testSameClass(){
		privateProp = 0;
		
		defaultProp = 0;
		
		protectedProp = 0;
		
		publicProp = 0;
	}
	

}

package com.it.package1;

public class ClassTwo{
	
	void testdifferentClass() {
//		new ClassOne().privateProp;
		new ClassOne().defaultProp = 1;
		new ClassOne().protectedProp = 1;
		new ClassOne().publicProp = 1;
		
//		ClassOneStatic.privateProp;
		ClassOneStatic.defaultProp = 1;
		ClassOneStatic.protectedProp = 1;
		ClassOneStatic.publicProp = 1;
		
		
	}

}
package com.it.package1;

public class ClassChild extends ClassOne{
	
	void testChild() {
//		privateProp = 1 ;
		defaultProp = 1;
		protectedProp = 1;
		publicProp = 1;
	}

}

package com.it.package2;

import com.it.package1.ClassOne;
import com.it.package1.ClassOneStatic;

public class ClassFour {
	
	void testDifferentPackage(){
//		new ClassOne().privateProp;
//		new ClassOne().defaultProp = 1;
//		new ClassOne().protectedProp = 1;
		new ClassOne().publicProp = 1;
		
//		ClassOneStatic.privateProp = 1;
//		ClassOneStatic.defaultProp = 1;
//		ClassOneStatic.protectedProp = 1;
		ClassOneStatic.publicProp = 1;
	}

}

package com.it.package2;

import com.it.package1.ClassOneStatic;

public class ClassChild extends ClassOneStatic {
	
	void testdifferentPackageChild() {
//		ClassOneStatic.privateProp = 1;
//		ClassOneStatic.defaultProp = 1;
		ClassOneStatic.protectedProp = 1;
		ClassOneStatic.publicProp  = 1;
	}

}

Publicado 37 artículos originales · ganado elogios 29 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/qq_42755868/article/details/104831340
Recomendado
Clasificación