object作为类java

时间:2016-04-25 17:17:46

标签: java

我正在预订酒店。我有这个类,我创建了大部分参数:

public class Habitaciones {

    boolean ocupado;
    int tipo;
    int ID;
    GregorianCalendar fecha;
    GregorianCalendar fechafinal;


    public Habitaciones(boolean _ocupado, int _tipo, int _ID) {
        ocupado = _ocupado;
        tipo = _tipo;
        ID= _ID;
    }

    public int getID() {
        return ID;
    }

    public void setID(int ID) {
        this.ID = ID;
    }

    public boolean getOcupado() {
        return ocupado;
    }

    public void setOcupado(boolean ocupado) {
        this.ocupado = ocupado;
    }

    public int getTipo() {
        return tipo;
    }

    public void setTipo(int tipo) {
        this.tipo = tipo;
    }

    public Calendar getFecha() {
        return fecha;
    }

    public void setFecha(GregorianCalendar fecha) {
        this.fecha = fecha;
    }

    public Calendar getFechafinal() {
        return fechafinal;
    }

    public void setFechafinal(GregorianCalendar fechafinal) {
        this.fechafinal = fechafinal;
    }           
}

在另一个课程中,我有默认信息:

public class Hotel {

    static Habitaciones[] cuartos = new Habitaciones[6];

    public Hotel() {
        cuartos[0] = (new Habitaciones(false, 1,1));
        cuartos[1] = (new Habitaciones(false, 1,2));
        cuartos[2] = (new Habitaciones(false, 2,3));
        cuartos[3] = (new Habitaciones(false, 2,4));
        cuartos[4] = (new Habitaciones(false, 3,5));
        cuartos[5] = (new Habitaciones(false, 3,6));
    }

现在我想回归那个" cuartos"对象,所以我可以创建另一个类来填充它,我试图从菜单中调用它,但它说这个变量不存在。

案例2:

SegundoReservar miReserva = new SegundoReservar();
miReserva.SegReservarHab(cuartos);`

我的问题是我可以在同一个课程中完成,但不知道如何从另一个类调用对象,或者如何创建它。

这是我第一个课程的作业。关键是使用向量但是杀了我。我是超级大三学生,因此,任何解释都会被贬低。

3 个答案:

答案 0 :(得分:0)

创建一个公共getCuartos方法,就像在Habitaciones中执行getter一样,它会返回您需要的对象。然后您的方法调用变为:

miReserva.SegReservarHab(hotel.getCuartos());

答案 1 :(得分:0)

Cuartos是在酒店类中静态定义的:您可以通过执行以下操作来访问它:

SegundoReservar miReserva = new SegundoReservar();
miReserva.SegReservarHab(Hotel.cuartos);`

但请注意Cuartos数组只有Habitaciones 后才会在您创建类酒店的对象时...

如果您不考虑这些,可能会在代码中发生一些nullPointerexcetions ...

答案 2 :(得分:0)

    public class Hotel {
        private Habitaciones[] cuartos; 

    public Hotel() {
        cuartos[0] = (new Habitaciones(false, 1,1));
        cuartos[1] = (new Habitaciones(false, 1,2));
        cuartos[2] = (new Habitaciones(false, 2,3));
        cuartos[3] = (new Habitaciones(false, 2,4));
        cuartos[4] = (new Habitaciones(false, 3,5));
        cuartos[5] = (new Habitaciones(false, 3,6));
    }

    public Habitaciones[] getHabitaciones()
    {
       return cuartos;
    }

然后在菜单中你应该这样做:

1-创建酒店实例

Hotel hotel = new Hotel();

通过调用构造函数初始化cuartos字段。

2-您现在可以获取调用函数getHabitaciones

的数据
hotel.getHabitaciones();

我认为你必须设置" cuartos"字段到私人