Clases, acceso y programas de varias partes en java
Con este tema, puede convertirse en todo enredado en la terminología, por lo que necesita para obtener algunos conceptos básicos fuera del camino. Aquí está una pieza falsa de código Java como ejemplo:
class MiClase {int myField- // un campo // (miembro) vacío myMethod () {// un método (otro miembro) int myOtherField- // un método de variable local // (no miembro)}}
Los comentarios en la parte derecha del código cuentan toda la historia. Existen aquí dos tipos de variables - campos y variables de métodos local. Este ejemplo no es acerca de las variables de métodos local. Se trata de los métodos y campos.
El llevar alrededor de la frase " métodos y campos " donde quiera que vaya, no es fácil. Es mucho mejor dar estas cosas un nombre y que hacer con ella. Es por eso que ambos métodos y campos se denominan miembros de una clase.
Miembros frente a las clases
En este punto, se hace una distinción importante. Piensa en Java público palabra clave. Como usted ya sabe, usted puede poner público en frente de un miembro. Por ejemplo, puede escribir
público static void main (String args []) {
o
público amountInAccount = 50.22-
Estos usos de la público palabra clave ser ninguna gran sorpresa. Lo que ya no puede saber es que usted puede poner el público palabra clave en frente de una clase. Por ejemplo, puede escribir
público clase de dibujo {// El código va aquí}
En Java, el público palabra tiene dos significados ligeramente diferentes - un significado para los miembros y otro significado para las clases.
Los modificadores de acceso para los miembros
Claro, esta sección es acerca de los miembros. Pero eso no significa que usted puede pasar por alto las clases de Java. Miembros o no, la clase Java sigue siendo donde toda la acción se lleva a cabo. Cada campo se declaró en una clase particular, pertenece a esa clase, y es miembro de esa clase.
Lo mismo es cierto de métodos. Cada método se declara en una clase en particular, pertenece a esa clase, y es miembro de esa clase. ¿Se puede utilizar un determinado nombre de miembro en un lugar determinado en el código? Para comenzar a responder a la pregunta, compruebe si ese lugar es dentro o fuera de la clase del miembro:
Si el miembro es privado, sólo el código que hay dentro de la clase del miembro puede referirse directamente a nombre de ese miembro.
clase SomeClass {private int myField = 10} class SomeOtherClass {static void main (String args []) {públicas SomeClass someObject = new SomeClass () - // Esto no funciona: System.out.println (someObject.myField) -}}
Si el miembro es público, ningún código puede referirse directamente a nombre de ese miembro.
clase SomeClass {public int myField = 10} class SomeOtherClass {public static void main (String args []) {SomeClass someObject = new SomeClass () - // Esto funciona: System.out.println (someObject.myField) -}}
Estas cifras ilustran las ideas de una manera ligeramente diferente.