原题目:
用 QingApple类继承Apple类并且在子类QingApple中重写equals()和
toString()方法,并且功能要增加
,所以我就增加了delicious这个特点,但是总是有错误
希望哪位高手能够帮我解决这个燃眉之急的问题!
虽然有点麻烦,但希望哪位好心人帮忙看一下下面这个程序:
class Apple{
private String color;
private boolean ripe;
public Apple(String aColor,boolean isRipe){
color=aColor;
ripe=isRipe;
}
public void setColor(String aColor){
color=aColor;
}
public void setRipe(boolean isRipe){
ripe=isRipe;
}
public String getColor(){
return color;
}
public boolean getRipe(){
return ripe;
}
public String toString(){
if(ripe)
return("A ripe"+color+"apple");
else
return("A not so ripe"+color+"apple");
}
}
class QingApple extends Apple{
public boolean delicious;
private QingApple(String aColor,boolean isRipe,boolean isDelicious){
super(aColor,isRipe);
delicious=isDelicious;
}
public void setDelicious(boolean isDelicious){
delicious=isDelicious;
}
public boolean getDelicious(){
return delicious;
}
public String toString(){
return super.toString();
if(delicious)
return ("delicious");
}
public boolean equals(QingApple qingapple){
return (super.equals(Apple apple)+delicious==getDelicious());
}
}
public class TestEqual{
public static void main(String args[]){
QingApple a=new QingApple("red",true,true);
QingApple b=new QingApple("red",true,true);
System.out.println(a+"is equal to"+b+":"+a.equals(b));
System.out.println("a is identical to b:"+(a==b));
QingApple c=a;
System.out.println(a+"is equal to"+c+":"+a.equals(c));
System.out.println("a is identical to c:"+(a==c));
}
}
谢谢!再请问一下:如果在子类中继承父类的equals()方法要怎么办呢?