usar sirve que para metodos metodo estaticos ejemplos cuando clases clase atributos atributo java c++ class-visibility

sirve - public static java



¿Es una clase privada o pública por defecto en Java y C++? (3)

De acuerdo con la §6.6.1 de la JLS ,

Si una clase de nivel superior o un tipo de interfaz no se declara público, solo se puede acceder a él desde el paquete en el que se declara.

Por lo tanto, una clase Java es por defecto paquete privado .

Esto no se aplica a C ++, sin embargo. Una clase carece de visibilidad: solo sus miembros pueden tener control de acceso. Consulte el artículo 11 de la norma C ++ 11 para obtener información sobre el control de acceso de los miembros. Aquí hay un extracto de ¶1 ...

Un miembro de una clase puede ser

  • private es decir, su nombre solo puede ser utilizado por miembros y amigos de la clase en la que se declara.
  • protected es decir, su nombre solo lo pueden usar los miembros y amigos de la clase en la que está declarado, las clases derivadas de esa clase y sus amigos (ver 11.4)
  • public es decir, su nombre se puede utilizar en cualquier lugar sin restricción de acceso.

¿Las clases son privadas o públicas por defecto en Java y C ++?


En Java, una clase de nivel superior es pública o no pública. No hay "privado". Solo puede usar la palabra clave pública o dejarla. Si lo deja apagado, no es público, es decir, visible solo para otras clases en el mismo paquete.

Una clase anidada , es decir, una clase dentro de otra clase, puede hacerse pública, paquete-privada, protegida o privada, como cualquier otro miembro de la clase. El valor predeterminado (es decir, el que no tiene modificador) es paquete privado, visible solo para las clases en el mismo paquete.

EDITAR: Olvidó la respuesta de C ++, así que vea (y upvote) la respuesta de @zeller. :)


  • Java :

    De forma predeterminada, la visibilidad de las clases es un paquete privado, es decir, solo visible para las clases en el mismo paquete.

  • C ++ :

    La clase no tiene visibilidad definida como en Java. Son visibles si los incluyes a la unidad de compilación.