有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java对象作为实例变量,在其中使用新运算符

我正处于学习java的早期阶段

我已经完成了一些实践练习,对于使用实例变量存储对象,特别是创建这些变量的“新”实例,我感到有些困惑

一个初学者级别的练习要求我设置一个项目,以便在某个场地进行订票。我被要求设置以下内容:

i)枚举类型,代表将在场馆举办的单个活动的类型

ii)代表活动日期的(简单)上课日期

iii)代表机票价格的(简单)舱位价格

iv)带有公共方法getSeatingCapacity()的(简单)课堂场地,该方法返回场地的容量

我在这个问题上被卡住了:

接下来,实现一个类事件来表示单个事件。 i) 确定并实现所需的字段和构造函数(见上文)

v)用你对a)ii)的回答来表示活动日期

vi)用你对a)iii)的回答来代表票价

vii)用你对a)iv)的回答来代表场地

答案如下:

public class Event

{
   private EventType eventType;
   private String eventTitle;
   private int numberOfAvailableTickets;
   private Date eventDate;
   private Price ticketPrice;
   private Venue venue;

public Event(EventType typeOfEvent, String titleOfEvent, Venue venue, Date dateOfEvent, Price priceOfTicket)
   {
       eventType = typeOfEvent;
       eventTitle = titleOfEvent;
       this.venue = venue;
       eventDate = dateOfEvent;
       ticketPrice = priceOfTicket;
       numberOfAvailableTickets = venue.getSeatingCapacity();
    }

不过,我的答案如下:

    private Venue location;
    private String title;
    private int totalTickets;
    private EventType genre;
    private Date date;
    private Price price; 

public Event(String title, int totalTickets, EventType genre)
    {
        location = new Venue();
        this.title = title;
        this.totalTickets = totalTickets
        this.genre = genre; 
        price = new Price(90);
        date = new Date("");
    }

我认为我必须在构造函数中创建每个对象的实例,方法是使用新操作符,否则它们将如何创建?然后我可以使用set方法来设置新的值。但这似乎是错的?有人能帮忙详细说明一下吗


共 (1) 个答案

  1. # 1 楼答案

    认为多个事件可能发生在同一个{{CD1}}中。在这种情况下,多个Event对象可以使用同一个Venue对象。在代码中,每个Event都有一个唯一的Venue对象。如果VenueEvent的唯一属性(即不被其他Event共享),则您的方法更合适

    因此,将一个Venue对象传递给Event的构造函数或拥有一个将接受Venue对象的setVenue方法更合理