Getter和Setter函数帮助和操作方法

时间:2015-02-10 00:19:16

标签: java function setter getter

我目前正在编写一个程序,我需要将get函数合并到程序的生成和输出中。该程序需要具有Number of SeatsA = 30和pricePerSeatA = 120.99。我认为我的程序设置的方式我需要做的就是调用这些函数,然后设置数量然后打印。我尝试过使用ConcertSales concertSales = new ConcertSales();但随时我准备调用该函数我使用concertSales.getNumberOfSeatsTypeA();或concertSales.setNumberOfSeatsTypeA(30),它给我一个错误信息。我究竟做错了什么?请帮忙!这是我的代码:

public static void main(String[] args) {
class ConcertSales{
ConcertSales concertSales = new ConcertSales();
public int numberOfSeatTypesA;
public int numberOfSeatTypesB;
public double pricePerSeatA;
public double pricePerSeatB;
public double totalSales; 

public int getNumberOfSeatTypesA()
{ return numberOfSeatTypesA;}
//did the same for Types B

public void setNumberOfSeatTypesA(int newValue) 
 { numberOfSeatTypesA = newValue; }
//same done for SeatsB

public double computeTotalSales()
{ return totalSales = numberOfSeatTypesA*pricePerSeatA +
                       numberOfSeatTypesB*pricePerSeatB }
}
concertSales.setNumberOfSeatTypesA(30); //this is where i keep getting 
my error messages. 

任何帮助表示赞赏!谢谢

3 个答案:

答案 0 :(得分:1)

我认为您是Java初学者或OOP初学者。在Java中,所有函数/方法都应该是类的内部,甚至是主函数。

以下是代码:

class ConcertSales{
    public int numberOfSeatTypesA;
    public int numberOfSeatTypesB;
    public double pricePerSeatA;
    public double pricePerSeatB;
    public double totalSales; 

    public int getNumberOfSeatTypesA(){ 
        return numberOfSeatTypesA;
    }

    public void setNumberOfSeatTypesA(int newValue){ 
        numberOfSeatTypesA = newValue; 
    }

    public double computeTotalSales(){ 
        return totalSales = numberOfSeatTypesA*pricePerSeatA +
                   numberOfSeatTypesB*pricePerSeatB;
    }

    public static void main(String[] args) {
        ConcertSales concertSales = new ConcertSales();
        concertSales.setNumberOfSeatTypesA(30); 
        System.out.println(concertSales.getNumberOfSeatTypesA());
    }
}

答案 1 :(得分:0)

你把你的班级写进了主法吗?

相反,你的类包含一个主方法

答案 2 :(得分:0)

一些事情:

  1. 您不需要ConcertSales concertSales = new ConcertSales();因为Java会自动构造默认构造函数。该行应该移动到您的主程序中。

  2. 您应该将ConcertSales类移到main之外。最好在另一个文件中。

  3. 假设您为ConcertSales创建了一个单独的类,您的主类将如下所示。

    public static void main(String[] args) { ConcertSales sales = new ConcertSales(); // create new ConcertSales object sales.setNumberOfSeatTypesA(30); }