
Carlos Alfredo Soria Añez
PreguntaPrimera pregunta.
Que diferenciaría tener una variable y constante? , es decir , que ganancia u ventaja se adquiere en el código el diferencia una variable de una constante.
Segunda pregunta.
Si bien pudimos observar en clases anteriores que el valor de una variable estática se conserva mas allá de un método , en esta clase menciona la ventaja de tener una variable o miembro estatico en función del SCOPE , mi duda es si no seria suficiente para el Scope tener declarado la palabra reservada public ?
Porque tengo entendido que para hacer uso de un metodo estatico en otra modulo u clase necesito declararlo estatic , pero en una simple variable por q poner ambas palabras reservadas? … static y public …

David Carrillo Castillo
static quiere decir que no necesitas tener un ejemplar de la clase para tener acceso a ese metodo o variable
mientras que public quiere decir que esta puede ser accedida por todos
Es claramente diferente static y public, y ambos se complementan para tener como resultado una variable constante global
En palabras simples... Static es para no tener que crear objetos y public para que puedan acceder a ellos, hay veces que querras crear variables static con private, por ejemplo lo de los meses, si solo se va a ocupar los 12 meses en una clase, que sentido tiene ponerla public?, sera mejor ponerla private si solo se ocupa en su propia clase y nada mas

David Carrillo Castillo
En proyectos amplios, tu necesitas crear variables que estas no cambien, pues habra aplicaciones que requieran estas variables, ya sea, por ejemplo, nombrar una empresa, entonces esta variable no quieres que cambie, o una clave de algo importante, se dan demasiadas veces estos casos
Ahora, si estas variables intentan ser cambiadas, automaticamente se mandara el error de compilacion e incluso dentro de IDE, por lo cual va a ser facil de identificar

Carlos Francisco Betancourt Requena
Hola, con respecto a tu segunda pregunta.
El modificador de acceso public, permite que la variable o método pueda ser accedido desde cualqueir lugar, ya sea una clase, paquete, subclase u otro.
Static permite que esa variable persista o se mantenga desde cuaquier otro lugar; es decir. Cuando tienes en una clase "padre" tu declaras un atributo:
public int countObject = 0;
Cada vez que se cree un nuevo objeto de esa clase, se crean nuevas instancias, dentro de esa instancia va a exisitir un atributo countObject=0 por cada objeto. Y no vas a poder modificar ese atributo countObject de forma global para todos los objetos, sino que va a ser individual por cada objeto, es decir, cada vez que instancies un nuevo objeto, va a exisitir una nueva instancia de ese atributo para ese nuevo objeto.
En cambio, si lo declaras así:
public static int countObject = 0;
Cada vez que instancies un nuevo objeto de la clase padre, no se va a crear una nueva instancia del atributo countObject, se va a reutilizar desde la clase padre. Por lo tanto, si en la clase padre tienes definido el constructor de la siguiente manera, podrías llevar la contabilidad de cuantos objetos han sido instanciados:
class Test { public static countObject = 0; Test(){ countObjetct++; } }
Es decir, la variable (atributo) countObject se crea una sola vez en momoria y se va modificando ya sea desde esa misma clase, o desde donde sea y conserva las modificaciones debido a que es la misma variable(atributo). En cambio solo utilizando public, quiere decir que puedes acceder a ella desde cualquier lado, pero no significa que sea la misma instancia de esa variable (atributo o mètodo), lo vas a poder acceder, pero su valor no será el mismo entre los objetos que se han creado.
Espero haberme explicado, saludos!!!

Julián Alexander España Riobamba
Pregunta 1. El mismo nombre lo dice. Una variable puede cambiar su valor declarado, mientras que una constante mantiene su valor. Para declarar una constante se usa final, de esta manera se consigue que el valor se mantenga.

Roger Carlos Ariel Alba
Hola,
Te puedo ayudar con la primera. Las variables pueden cambiar el contenido, más no el tipo, de valor que contienen, por ejemplo edad, según los años tendría que ir en incremento. Pero las constantes son eso, una constante, algo que no cambia, por ejemplo mayoría de edad (en mi país es a los 18) siempre es a la misma edad. Por lo que al momento de asignar espacio en memoria o relacionar con una base de datos ambos valores tendrán diferente espacio en memoria, por que mientras uno será persistente el otro ira en incremento.
Espero te sirva.