usar - ¿Puedo declarar una variable estática dentro de la función miembro estática en Java?
static programacion (9)
Debe declarar las variables estáticas fuera de la función:
static int first=0;
static int second=1;
static int sum;
private static int Fibonoci(int n) {
if(n>0)
private static int Fibonoci(int n) {
static int first=0;
static int second=1;
static int sum;
if(n>0)
recibo un error "Modificador ilegal" y si elimino la palabra clave estática no hay ningún error y necesito que esas variables sean estáticas
Debes definir variables estáticas como miembros en clase. Las variables que se definen dentro del método son variables locales y sus ciclos de vida finalizan al final del método. las variables locales son específicas de la llamada, las variables miembro son específicas del objeto y las variables estáticas son variables específicas de la clase.
Estas varibles llamadas variables locales, están dentro del scop del método o del constructor, no pueden ser variables de instancia o de clase.
private static int COUNT;// Class Variable
private static int Fibonoci(int n) {
int a =3 ; // local variable
}
Necesito que esas variables sean estáticas , okey, ¿Por qué lo necesitas? Debido a que las variables estáticas utilizadas para purpuse especial, sin embargo, puede crear campos estáticos como lo hice por encima del código.
No puede declarar varibale como estático dentro de un método. En otras palabras, podemos decir que las variables locales no se pueden declarar estáticas.
No puede declarar varibale como estático dentro de un método.
Método interno todas las variables son variables locales que no tienen existencia fuera de este método y por eso no pueden ser estáticas.
static int first=0;
static int second=1;
static int sum;
private static int Fibonoci(int n) {
//do somthing
}
Usted está tratando de escribir código para la serie de Fibonacci y para eso no necesita variables estáticas para eso solo aquí hay algunos enlaces que describen el sol para ese
http://crunchify.com/write-java-program-to-print-fibonacci-series-upto-n-number/
No se puede declarar una variable estática dentro de un método, static
significa que es una variable / método de una clase, pertenece a toda la clase pero no a uno de sus ciertos objetos. Esto significa que static
palabra clave static
se puede usar en un ''alcance de clase'', es decir, no tiene ningún sentido dentro de los métodos.
No sé lo que está intentando lograr, pero si realmente quiere que estas variables sean estáticas, puede declararlas como campos estáticos en su clase.
Local variables
no se pueden declarar estáticas. En otras palabras, Static
no se aplica a local variables
.
Y no vi ningún uso de declaring
static
allí.
Sigue a JL en campos estáticos
Un campo estático, a veces llamado una variable de clase, se encarna cuando la clase se inicializa (§12.4).
static
en el alcance de la función no están permitidos en Java.
La causa raíz: las variables estáticas se asignan a la memoria en el tiempo de carga de la clase porque son parte de la clase y no su objeto.
Ahora, si la variable estática está dentro de un método , esa variable se encuentra dentro del alcance del método y JVM no podrá asignarle memoria.