【问题标题】:Java: How to populate a variable in subclass?Java:如何在子类中填充变量?
【发布时间】:2017-03-19 00:17:18
【问题描述】:

所以这不是一项作业,但我的一张演讲幻灯片没有说清楚,当我尝试自己编写类似的代码时,我遇到了问题。

我不知道如何填充我的子类中的变量。

这是我目前的测试代码:

实现类:

import javax.swing.JOptionPane;

公共课屋{

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    int count = 0;
    room[] r = new room[3];
    int option = JOptionPane.showConfirmDialog(null, "type");
    if(option==0){
        r[count]=new type();
        r[count].setSize(25);
        r[count].setType("Bedroom");
    }
    else if(option==1){
        r[count] = new room();
        r[count].setSize(25);
    }

    JOptionPane.showMessageDialog(null, r[count].toString());
}

}

超类:

public class room {
double size;

public room(){

}

public room(double size){
    this.size=size;
}

public double getSize(){return this.size;}

public boolean setSize(double size){
    if(size<0.0){
        return false;
    }
    else{
        return true;
    }
}
 public String toString(){
     return "Room size: " + this.size;
 }

}

子类:

public class type extends room {
String type;

public type(){

}

public type (double size, String type){
    super(size); 
    this.type=type;
}

public String getType(){return this.type;}

public boolean setType (String type){
    if(type.equals("")){
        return false;
    }
    else{
        return true;
    }
}

public String toString(){
    return super.toString() + "Room Type: " + this.getType();
}

}

当我尝试运行代码时,如果我尝试将数据插入到类型类的 setType() 方法中,它会给我一个错误。有人可以告诉我我在哪里搞砸了吗?谢谢!

【问题讨论】:

    标签: java subclass low-level-code


    【解决方案1】:

    记住原来的指针:

    if(option==0){
        type t = new type();
        t.setSize(25);
        t.setType("Bedroom");
        r[count]= t;
    }
    

    您也可以转换为原始类型:

        ((type) r[count]).setType("Bedroom");
    

    【讨论】:

      猜你喜欢
      • 2022-01-19
      • 2016-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      • 2016-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多