gpt4 book ai didi

Java:如何在子类中填充变量?

转载 作者:行者123 更新时间:2023-12-01 09:17:33 25 4
gpt4 key购买 nike

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

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

这是迄今为止我的测试代码:

实现类:

import javax.swing.JOptionPane;

公共(public)课宿舍{

/**
* @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());
}

}

父类(super class):

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() 方法,则会出现错误。有人可以告诉我我哪里搞砸了吗?谢谢!

最佳答案

记住原来的指针:

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

或者,您可以转换为原始类型:

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

关于Java:如何在子类中填充变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40434947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com