Carácter de permiso de acceso:
(1) público:
Para los miembros: cualquier otra clase puede acceder a ellos, ya sea en la misma bolsa o en otra bolsa.
Para una clase: lo mismo.
(2) Amigo:
Para los miembros antiguos: si un miembro de la clase no tiene ninguna modificación de permisos, entonces su puerta es el permiso de acceso de paquete predeterminado.
No es una palabra clave en Java, pero aquí hay una forma de expresarla en persona. Se puede acceder a otras clases en el mismo paquete, pero fuera del paquete
No. Para las clases que no están en la misma carpeta, sin paquete, Java verá automáticamente estas clases como en el directorio que pertenece a este directorio
El paquete predeterminado puede llamar a miembros amigables en clase. Por ejemplo, las siguientes dos clases están en los dos archivos de la misma carpeta, respectivamente
Aunque no se introduce en el paquete, pertenece al mismo paquete predeterminado.
Clase Sundae {// Los siguientes dos métodos El valor predeterminado es amigable Sundae () {} void f () {System.out.println ("Sundae.f ()"); = Nuevo Sundae ();
Para clases: se pueden usar las clases en el mismo paquete. En resumen, la clase solo puede declararse como pública o amigable.
(3) Privado:
Para los miembros: solo acceso a la clase a la que pertenece el miembro.
Clase Sundae {private Sundae () {} // Solo se puede llamar Sundae (int i) {} sydae static makasundae (); de la función Sundae () es privado, por lo que // por lo que no se puede inicializar por ella // Sundae x = new Sunae ();
Para las clases: la clase no puede declararse como privada.
(4) Protegido:
Para los miembros: las clases en el mismo paquete pueden acceder (permisos de acceso al paquete);
(5) predeterminado (permisos predeterminados)
Las clases, los miembros de los datos, los métodos de constructor y los miembros del método pueden usar permisos predeterminados, es decir, no se escriben palabras clave. El permiso predeterminado es el mismo permiso del paquete.
Ejemplo: paquete C05.local;
Import pack1.cookie; Cookie La clase no está en un paquete, y cada uno tiene los permisos de acceso al paquete. No cumplir con los requisitos de privacidad, por lo que es mejor establecer como protección. "Constructor ChocolateChip");
Paquete de paquete1;
Hay una mejor explicación para los permisos de la clase:
Permisos de acceso para clase de clase:
Público: se puede acceder por todas las clases.
Valor predeterminado: el valor predeterminado se puede llamar amigable, pero no hay modificador de Friendly en el idioma Java. Los permisos de acceso predeterminados son los permisos de acceso al paquete.
Es decir, si una clase no escribe un modificador de acceso derecho de acceso, entonces la autoridad de acceso predeterminada, se puede acceder a la clase bajo el mismo paquete, incluso si se puede instantáneamente (por supuesto, si esta clase no tiene capacidades instanciadas, Excepto que, excepto por la capacidad de instancia, por ejemplo, esta clase no proporciona un constructor de público).
ilustrar:
1. Cada unidad de compilación (archivo de clase) solo puede tener una clase pública
2. El nombre de la clase pública (incluido el caso) debe ser el mismo nombre que su tipo de archivos.
3. La clase pública puede no existir en un archivo de clase (*.java).
Esta forma de existencia: si escribimos una clase en una bolsa, solo debemos cooperar con otros tipos de trabajo en la misma bolsa, y no queremos escribir un documento de descripción a los clientes (no necesariamente clientes realistas, clientes, clientes, clientes, Puede ser llamar a esta clase) para ver y lastimar el cerebro, y puede ser posible cambiar completamente el enfoque original después de un período de tiempo, y abandonar por completo la versión anterior y reemplazarla con una nueva versión.
4. La clase no puede ser privada y protegida.
5. Si no desea ningún objeto que produzca una determinada clase, puede establecer todos los constructores de la clase en privado. Pero incluso esto puede generar el objeto de esta clase, es decir, los miembros (atributos y métodos) de la clase estática se pueden hacer.
Ejemplo completo:
First.java:
Número de paquete prueba.*; Frist (); El mismo paquete. (ts);}}
Producción:
Java Hello Test Hello Test Test