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.