Este sera el comienzo de una serie de posts en los cuales tratare de profundizar en el tema, tratando de abarcar la mayoria de los escenarios posibles.
Comenzare con el modificador de acceso Publico, que por ser menor restrictivo puede ser considerado facil de comprender.
Escenario – Declaracion en la clase
- Solo puede existir una clase publica por archivo *.java
- Puede referenciarse desde clases dentro mismo paquete
- Puede heredarse por clases dentro mismo paquete
- Puede referenciarse desde clases de distintos paquetes siempre y cuando la clase sea importada
- Puede heredarse por clases de distintos paquetes siempre y cuando la clase sea importada
ClasePublica.java
package mipaquete;
public class ClasePublica{
}
class OtraClase{
}
class OtraClaseNoPublica{
}
OtraClasePublica.java
package mipaquete;
public class OtraClasePublica {
public void invocar(){
ClasePublica clase = new ClasePublica();
}
}
ClaseHijaPublica.java
package mipaquete;
public class ClaseHijaPublica extends ClasePublica {
}
OtraClasePublica.java
package otropaquete;
import mipaquete.ClasePublica;
public class OtraClasePublica {
public void invocar(){
ClasePublica clase = new ClasePublica();
}
}
ClaseHijaPublica.java
package otropaquete;
import mipaquete.ClasePublica;
public class ClaseHijaPublica{
public void invocar(){
ClasePublica clase = new ClasePublica();
}
}
Con esto creo cubrir la mayoria de las preguntas que pudiesen surgir acerca de este modificador