Java: 如何在子类中填充变量?
Java: How to populate a variable in subclass?
所以这不是作业,但我的其中一张演讲幻灯片没有说清楚,当我尝试自己编写类似的代码时,我 运行 遇到了问题。
我不知道如何填充子class 中的变量。
到目前为止,这是我的测试代码:
实施class:
import javax.swing.JOptionPane;
public class 房子 {
/**
* @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());
}
}
超级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;
}
}
子class:
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();
}
}
当我尝试 运行 代码时,如果我试图将数据插入 class 类型的 setType() 方法中,它会给我一个错误。有人可以告诉我我在哪里搞砸了吗?谢谢!
记住原指针:
if(option==0){
type t = new type();
t.setSize(25);
t.setType("Bedroom");
r[count]= t;
}
或者您可以转换为原始类型:
((type) r[count]).setType("Bedroom");
所以这不是作业,但我的其中一张演讲幻灯片没有说清楚,当我尝试自己编写类似的代码时,我 运行 遇到了问题。
我不知道如何填充子class 中的变量。
到目前为止,这是我的测试代码:
实施class:
import javax.swing.JOptionPane;
public class 房子 {
/**
* @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());
}
}
超级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;
}
}
子class:
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();
}
}
当我尝试 运行 代码时,如果我试图将数据插入 class 类型的 setType() 方法中,它会给我一个错误。有人可以告诉我我在哪里搞砸了吗?谢谢!
记住原指针:
if(option==0){
type t = new type();
t.setSize(25);
t.setType("Bedroom");
r[count]= t;
}
或者您可以转换为原始类型:
((type) r[count]).setType("Bedroom");