Getter 和 Setter 功能帮助和操作方法
Getter and Setter Function Help and How To
我目前正在编写一个程序,我需要在其中合并 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.
感谢任何帮助!谢谢
你有没有把你的 class 写到 main 方法中?
反过来,你的class包含一个main方法
我认为您是 Java 初学者,或者说 OOP 初学者。在 Java 中,所有 functions/methods 都应该在 class 内部,甚至是 main 函数。
代码如下:
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());
}
}
几件事:
您不需要 ConcertSales concertSales = new ConcertSales();因为 Java 会自动构造默认构造函数。该行应该移到您的主程序中。
您应该将您的 ConcertSales Class 移到 main 之外。最好在另一个文件中。
假设您为 ConcertSales 创建了一个单独的 class,您的主要 class 将如下所示。
public static void main(String[] args) {
ConcertSales sales = new ConcertSales(); // create new ConcertSales object
sales.setNumberOfSeatTypesA(30);
}
我目前正在编写一个程序,我需要在其中合并 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.
感谢任何帮助!谢谢
你有没有把你的 class 写到 main 方法中?
反过来,你的class包含一个main方法
我认为您是 Java 初学者,或者说 OOP 初学者。在 Java 中,所有 functions/methods 都应该在 class 内部,甚至是 main 函数。
代码如下:
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());
}
}
几件事:
您不需要 ConcertSales concertSales = new ConcertSales();因为 Java 会自动构造默认构造函数。该行应该移到您的主程序中。
您应该将您的 ConcertSales Class 移到 main 之外。最好在另一个文件中。
假设您为 ConcertSales 创建了一个单独的 class,您的主要 class 将如下所示。
public static void main(String[] args) { ConcertSales sales = new ConcertSales(); // create new ConcertSales object sales.setNumberOfSeatTypesA(30); }