(1) Para el modificador público, tiene los mayores permisos de acceso y puede acceder a cualquier clase, interfaz, excepción, etc. en classpath. A menudo se usa en casos externos, es decir, una forma de interfaz de un objeto o clase externa a la externa.
(2) Para el modificador protegido, su función principal es proteger las subclases. Su significado es que la subclase puede ser modificada por ella, y los demás no pueden serlo. Es equivalente a una cosa hereditaria pasada a la subclase.
(3) Por defecto, a veces se convierte en un miembro amigable. Está diseñado para acceder a este paquete. Cualquier clases, interfaces, excepciones, etc. que estén bajo este paquete se puede acceder entre sí, incluso miembros de la clase principal que no están modificadas con protegidos.
(4) Para privado, sus permisos de acceso se limitan al interior de la clase, que es una manifestación de encapsulación. Por ejemplo, la mayoría de las variables miembros son modificadores privados, y no quieren que se accedan a ninguna otra clase externa.
La siguiente tabla muestra el significado y el uso de los caracteres de control de acceso Java
| Dentro de la clase | Este paquete | Subclase | Paquete externo | |
| público | √ | √ | √ | √ |
| protegido | √ | √ | √ | × |
| por defecto | √ | √ | × | × |
| Privado | √ | × | × | × |
Nota: El control de acceso de Java permanece en la capa de compilación, es decir, no dejará ningún rastrillo en el archivo .class, y solo verifica el control de acceso durante la compilación. De hecho, a través de la reflexión, puede acceder a los miembros de cualquier clase en cualquier paquete. Por ejemplo, también es posible acceder a miembros privados de la clase.
la diferencia:
(1) Público: todas las demás clases pueden acceder.
(2) Privado: solo se puede acceder y modificar por usted mismo.
(3) Protegido: se puede acceder por sí solo, subclases y clases en el mismo paquete.
(4) Valor predeterminado: se pueden acceder a clases en el mismo paquete, y no se agrega modificador al declararse, por lo que se considera amigable.
Lo anterior es todo el contenido de la diferencia (explicación detallada) en Java que le presenta el editor. Espero que todos apoyen a Wulin.com ~