Java - Ayuda con constructor a principiante

 
Vista:

Ayuda con constructor a principiante

Publicado por Sesky (3 intervenciones) el 16/01/2013 22:21:32
Hola a todos.
Estoy empezando con Java, así que estoy realizando pruebas sencillas paso a paso, pero me he encontrado con un problema y no doy encontrado la solución.

Tengo esta clase:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package coche;
 
public class Coches {
    static int numRuedas;
    String color;
    int posX;
    int posY;
    int velocidad;
 
    public Coches(String color, int posx, int posy) {
        this.color=color;
        this.posX=posx;
        this.posY=posy;
        this.velocidad=0;
 
    }
 
    void mover(int x, int y)
    {
        if(x!= posX)
            posX=x;
        if (y!=posY)
            posY=y;
    }
 
 
}


Y este es el Main:

1
2
3
4
5
6
7
8
9
10
11
package clasescoche;
 
import coche.Coches;
 
public class Main {
 
    public static void main(String[] args) {
       Coches c = new Coches("rojo",0,0);
       System.out.println("El color del coche es " + c.color);
    }
}


El error que me da es :"color is not public in coche.Coches".
La verdad, no lo entiendo ya que si que es "public".

Gracias y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jhonnathan Emilio Cardona Saineda

Ayuda con constructor a principiante

Publicado por Jhonnathan Emilio Cardona Saineda (328 intervenciones) el 16/01/2013 22:57:54
No es public, cuando no le colocas nada a una variable, esta es accesible por clases del mismo paquete. pero el main y la clase Coches se encuentran en paquetes distintos por lo que debes colocarle a la variable public String color;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda con constructor a principiante

Publicado por Sesky (3 intervenciones) el 16/01/2013 23:29:40
Gracias por la respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con constructor a principiante

Publicado por Rodolfo (1 intervención) el 17/01/2013 18:18:11
Cuando pones directamente String nombre_variable = "";
estas utilizando el modificador de acceso default, existen 4modificadores de acceso que son
public, protected, private y default, en tu caso estas utilizando el modificador de acceso default.
Este modificador te dice que no puedes acceder a las variables (default) desde otras clases que se encuentren fuera del paquete (de la carpeta donde tienes tu programa con el constructor sobrecargado).

Les recomiendo visitar esta pagina
www.grupocodesi.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar