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

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

求助大佬 為什么沒有輸出結果呢?

package?xxx;
public?abstract?class?Shape?{
????public?abstract?void?square();
?????public?abstract?void?zhouchang();?
?
}

package?xxx;
public??class?Rectangle?extends?Shape?{
?int?chang=8;
?int?kuan=6;
?int?square=chang*kuan;
??int?zhouchang=(chang+kuan)*2;
?
?
?@Override
?public?void?square()?{
??//?TODO?Auto-generated?method?stub
??
?}
?@Override
?public?void?zhouchang()?{
??//?TODO?Auto-generated?method?stub
??
?}?
?public?void?cal(){
?????System.out.println("矩形的面積為:"+square+"?"+"周長為"+zhouchang);
?????
}
}

package?xxx;
public?class?Circle?extends?Shape?{
????double?r=6.00;
?double?square=3.14*r*r;
????double?zhouchang=0.50*3.14*r;
?
?@Override
?public?void?square()?{
??//?TODO?Auto-generated?method?stub
??
?}
?@Override
?public?void?zhouchang()?{
??//?TODO?Auto-generated?method?stub
??
?}?
?public?void?cal(){
????System.out.println("圓形的面積為:"+square+"?"+"周長為"+zhouchang);
????}?
?}

package?xxx;
public?class?initail?{
?public?static?void?main(String[]?args)?{
???Shape?obj1=new?Circle();
??????Shape?obj2=new?Rectangle();
??????obj1.square();
??????obj1.zhouchang();
??????obj2.square();
??????obj2.zhouchang();
?}
}

正在回答

2 回答

代碼里面沒用帶繼承的知識啊,在自動生成的方法里面沒有方法體。

沒有結果的原因是因為,你在子類中重新定義的新方法cal,而你創建的對象是由父類指向子類的,根本不能調用子類中的方法。

對于你的代碼,你可以試試看創建子類對象,直接用子類對象調用方法

Circle circle=new Circle();

circle.cal();

Rectangle rectangle=new Rectangle();

rectangle.cal();

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

輸出結果的方法是

public?void?cal(){

????System.out.println("圓形的面積為:"+square+"?"+"周長為"+zhouchang);

????}?

?}

所以測試類中應該添加?obj1.cal();?obj2.cal();


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

舉報

0/150
提交
取消

求助大佬 為什么沒有輸出結果呢?

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

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

幫助反饋 APP下載

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

公眾號

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