亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請大佬看下為什么代碼的測試類里不能直接使用多態?

/*這是子類——圓類*/

package?com.imooc;
import?java.util.Scanner;
public?class?Circle?extends?Shape?{
Scanner?in?=?new?Scanner(System.in);
public?void?call(){
System.out.println("現在是計算圓的面積和周長");
System.out.println("請輸入圓的半徑");
double?r=in.nextDouble();
double?Pi=3.14;
System.out.println("圓的面積:"+Square(r,Pi));
System.out.println("圓的周長:"+Leng(r,Pi));
}
public?double?Square(double?a,?double?b)?{
//?TODO?Auto-generated?method?stub
double?S;
S=b*a*a;
return?S;
}
public?double?Leng(double?a,?double?b)?{
//?TODO?Auto-generated?method?stub
double?l;
l=b*2*a;
return?l;
}
}

/*這是子類——矩形類*/

package?com.imooc;
import?java.util.Scanner;
public?class?Rectangle?extends?Shape?{
Scanner?in?=?new?Scanner(System.in);
public?void?call()?{
System.out.println("計算矩形的周長和面積");
System.out.println("請輸入兩條邊長");
double?a?=?in.nextDouble();
double?b?=?in.nextDouble();
System.out.println("矩形的面積是:"+Square(a,b));
System.out.println("矩形的周長是:"+Leng(a,b));
}
@Override
public?double?Square(double?a,?double?b)?{
//?TODO?Auto-generated?method?stub
double?S;
S=a*b;
return?S;
}
@Override
public?double?Leng(double?a,?double?b)?{
//?TODO?Auto-generated?method?stub
double?l;
l=2*(a+b);
return?l;
}
}

/*這是父類*/

package?com.imooc;
public?abstract?class?Shape?{
public?abstract?double?Square(double?a,double?b);
public?abstract?double?Leng(double?a,double?b);
}

/*這是測試類*/

package?com.imooc;
public?class?Initial?{
public?static?void?main(String[]?args)?{
/*Rectangle?rec?=?new?Rectangle();
rec.call();
Circle?cir?=?new?Circle();
cir.call();*/
//以上方法是可行的
Shape?rec?=?new?Rectangle();
((Rectangle)?rec).call();
Shape?cir?=?new?Circle();
((Circle)?cir).call();
}//這個方法也是可行的
}

我主要是想知道為什么以下內容會報錯,必須改成上面那兩種才可以

Shape?rec?=?new?Rectangle();
rec.call();
Shape?cir?=?new?Circle();
cir.call()


正在回答

1 回答

因為你的call方法是子類的方法,不是從父類那兒繼承過來的。然后你最后一種方式定義的對象rec和cir,都是Shape的父類,不具有call方法。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請大佬看下為什么代碼的測試類里不能直接使用多態?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號