【问题标题】:Problems adding objects from a different class into an Arraylist - java将来自不同类的对象添加到 Arraylist 中的问题 - java
【发布时间】:2013-06-15 01:06:06
【问题描述】:

我正在做一个项目,我有 3 个不同的类创建对象 CommissionEmployee、SalriedEmployee 和 HourlyEmployee。我需要将这些添加到主类中的数组列表中,但不确定我哪里出错了。

公开课公司{

public String companyName;
public SalariedEmployee owner;
public ArrayList<SalariedEmployee> salariedEmployee;
public ArrayList<HourlyEmployee> hourlyEmployee;
public ArrayList<CommissionEmployee> commissionEmployee;


public Company (String companyName, SalariedEmployee owner){
    this.companyName = companyName;
    this.owner = owner;
}
public void addSalariedEmployee (SalariedEmployee SalariedEmployee){
    salariedEmployee.add(SalariedEmployee); **
}

public void addHourlyEmployee (HourlyEmployee HourlyEmployee){
    //HourlyEmployee = new HourlyEmployee (name, position, ratePerHour);
    hourlyEmployee.add(HourlyEmployee);
}
    public void addCommissionEmployee (CommissionEmployee CommissionEmployee){
    //CommissionEmployee = new CommissionEmployee (,, ratePerItem);
    commissionEmployee.add(CommissionEmployee);
}

** = 这是我的编辑告诉我我出错的那一行。 干杯,任何帮助将不胜感激

【问题讨论】:

  • 对于方法中的每个形式参数名称,将第一个字母更改为小写。

标签: java class methods arraylist variable-assignment


【解决方案1】:

您已尝试将参数命名为与您的类名相同的名称。类名不能作为参数名。将参数命名为不同的名称。即使是不同情况的东西也会很好,例如:

public void addSalariedEmployee (SalariedEmployee salariedEmployee){

【讨论】:

  • 将变量命名为类名不是语法错误。但显然,这是要走的路。
【解决方案2】:

因为您在该行中有两个具有相同名称的变量(即 salariedEmployee)。这是为您解决的问题:

public void addSalariedEmployee (SalariedEmployee aSalariedEmployee){
    salariedEmployee.add(aSalariedEmployee); 
}

【讨论】:

    【解决方案3】:

    您使用类名作为参数名。它应该是不同的大小写或任何其他名称而不是类名。 但最好有骆驼案名。

    只是例子:

    public void addSalariedEmployee (SalariedEmployee salariedEmployee)
    

    【讨论】:

      【解决方案4】:

      您的方法参数是SINGLE OBJECT。你试图把一个 LIST 不是一个对象。你必须改变你的方法参数

      当你改变时,这里有一个处理迭代器对象的例子。

       public static void main(String[] args) {
          Curso curso=new Curso();
          Evento evento=new Evento();
          Publicacion publicacion=new Publicacion();
      
          List objectList = new ArrayList();
      
          objectList.add(curso);
          objectList.add(evento);
          objectList.add(publicacion);
      
          for(Object o:objectList){
              if(o instanceof Curso){
                  //do some thing
              }
              if(o instanceof Evento){
                  //do some thing
              }
              if(o instanceof Publicacion){
                  //do some thing
              }
          }
      }
      

      请记住,JAVA 使用对象并且每个对象都是对象。问候

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-01-29
        • 2014-03-23
        • 2013-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-17
        相关资源
        最近更新 更多