Foros del Web » Programación para mayores de 30 ;) » Java »

variable entre public y public main

Estas en el tema de variable entre public y public main en el foro de Java en Foros del Web. public class Sumar Dia dia; Public void sumar(int a,int b) { } Public static void main(String args[]) { } mi duda es, la variable dia ...
  #1 (permalink)  
Antiguo 26/05/2012, 05:07
 
Fecha de Ingreso: agosto-2004
Mensajes: 265
Antigüedad: 20 años, 3 meses
Puntos: 0
variable entre public y public main

public class Sumar

Dia dia;

Public void sumar(int a,int b)
{
}


Public static void main(String args[])
{
}


mi duda es, la variable dia de tipo DIA, que pinta en esa posicion, que indica que es globar a todas las clases o el que?

otra cosa, las vbles protected que son?

un saludo
__________________
Recuerda que si señalas con el dedo, el resto de los dedos te señalan a ti!
  #2 (permalink)  
Antiguo 26/05/2012, 06:56
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: variable entre public y public main

Buenas,

Te dejo dos enlaces en los que se explica que son los atributos (variables de instancia) de una clase y los modificadores que se le pueden aplicar (como protected).

http://www.arrakis.es/~abelp/Apuntes...sI.htm#Objetos, miembros y referencias

http://www.arrakis.es/~abelp/Apuntes...oresAcceso.htm

Saludos.
  #3 (permalink)  
Antiguo 28/05/2012, 01:17
 
Fecha de Ingreso: agosto-2004
Mensajes: 265
Antigüedad: 20 años, 3 meses
Puntos: 0
Respuesta: variable entre public y public main

Cita:
Iniciado por alexg88 Ver Mensaje
Buenas,

Te dejo dos enlaces en los que se explica que son los atributos (variables de instancia) de una clase y los modificadores que se le pueden aplicar (como protected).

http://www.arrakis.es/~abelp/Apuntes...sI.htm#Objetos, miembros y referencias

http://www.arrakis.es/~abelp/Apuntes...oresAcceso.htm

Saludos.
Gracias por tu respuesta, pero lo que no entiendo, es pq se pone una variable entre dos clases

public class vble_entre_dos_clases
{
int a=5;

public static void maind(String[] args)
{

System.out.println("El valor es "+a);
}
}


pq en este ejemplo no "ve" el valor de la la variable a


un saludo
__________________
Recuerda que si señalas con el dedo, el resto de los dedos te señalan a ti!
  #4 (permalink)  
Antiguo 28/05/2012, 01:31
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: variable entre public y public main

Buenas,

La variable a no está entre dos clases (está dentro de la clase vble_entre_dos_clases).

En Java, todas las variables deben estar dentro de una clase, ya sea como atributos de la clase o dentro de los métodos de la clase.

La variable a no puede referenciarse en el método main porque éste es un método estático, es decir, un método de clase.

Un método de clase es aquel que puede ser llamado sin necesidad de crear un objeto de la clase (se le llama mediante: NombreClase.MetodoEstatico).
Los métodos estáticos sólo tienen acceso a los atributos estáticos de una clase (son variables compartidas entre todos los objetos de la misma clase), nunca a los atributos no estáticos (o también llamadas variables de instancia).

Fíjate:

Código Java:
Ver original
  1. public class Prueba
  2. {
  3. //Con el modificador static, el método main ya podría acceder al valor de a
  4. static int a=5;
  5.  
  6. public static void main(String[] args)
  7. {
  8.  
  9. System.out.println("El valor es "+a);
  10. }
  11. }

Saludos.
  #5 (permalink)  
Antiguo 28/05/2012, 01:33
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: variable entre public y public main

Es que main no es una clase sino un método.

Debería revisar los criterios de notación y aprender a distinguir con mayúsculas-minúsculas los nombres de packages, clases, variables y métodos, para evitar equivocarse.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: clase, main, public, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:35.