Pregunta

En Java, son especificadores de acceso y modificadores de acceso ¿la misma cosa?

¿Fue útil?

Solución

"modificador de acceso" es el término oficial para private, protected y public utilizado en el Java especificación del lenguaje . "Especificador de acceso" se usa como sinónimo en el Java API doc , pero esta es la primera vez que me he dado cuenta de eso. Es probable que sea mejor quedarse con el término JLS.

Otros consejos

En referencia a los Sun Java Docs ambos parecen ser los mismos:

El término El especificador de acceso utilizado por programadores de C ++ no en java. En java Oficialmente usamos modificador de acceso .

Por ejemplo: cuando declaramos una clase con privado, el compilador estática muestra claramente el mensaje de error de la siguiente manera:
introducir descripción de la imagen aquí

Java tiene básicamente 2 tipos de modificadores:

  1. modificadores de acceso de Java
  2. modificadores java no de acceso

Java modificadores de acceso y especificadores de acceso de Java son la misma cosa, que son public, private, protected.

Según yo, sí, ambos términos se refieren a lo mismo y se utilizan de manera intercambiable.

Esa referencia de JDI es el único lugar donde he visto el término "especificador de acceso" utilizado en una especificación de Java.Incluso allí, público/protegido/privado/paquete también se denominan 'modificadores'.Realmente no hay razón para usar el término 'especificador de acceso' en Java; claramente es solo un error en una página entre muchas miles.

En algunos lenguajes anteriores, pública, privada, protegida por defecto y como C ++ son considerados como especificadores de acceso y todo lo demás se considera como modificador de acceso, pero en Java no hay terminología para especificador, todo es por defecto considerado como único modificador. Así público, privado, protegido, por defecto, final, abstracto, estático, strictfp, sincronizada, nativo, transitorios y volátiles son todos los modificadores solamente.

Prueba simple ya que es cuando se compila el siguiente código

Prueba de clase privada { }

obtendremos error de compilación tiempo diciendo que el modificador privado no permitido aquí. Esto es cierto para otros modificadores también. Tal vez compilador Java (javac) ve todo como un "modificador" solamente.

En términos técnicos privado, público, protegido y por defecto son tratados como especificadores de acceso. Éstos se ocupan de que se puede ... preguntas. Los modificadores que yo sepa son volátiles, final, estática, transitorios, etc. Éstos se ocupan de ¿Cómo .. aspecto .

Mediante el uso de especificador de acceso que definimos que se puede acceder a nuestra clase / método y variable (o lo que sea con la que utilizamos especificador de acceso). básicamente Java Access especificador de cuatro tipos -

  1. pública: - visible para el mundo,
  2. privado: - Visible a la clase única,
  3. protegida: - Visible para el paquete y todas las subclases, y
  4. por defecto: - Visible para el paquete

Pero modificador de acceso son propiedades de una clase / método / variable. modificador de acceso son cinco tipos

  1. definitiva: - para la finalización de las implementaciones de clases, métodos y variables
  2. estática: - para crear métodos de clase y variables
  3. Sincronización y volátiles modificadores: - que se utilizan para hilos
  4. Resumen: - para crear clases y métodos abstractos
  5. transitoria
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top