課后問題請教,求指導;
public?abstract?class?TuAn?{ abstract?void?zhouchang(); abstract?void?mianji(); }
這是抽象類;
public?class?FangXing?extends?TuAn?{ public?int?a; public?int?b; public?void?setA(int?a)?{ this.a?=?a; System.out.println("a="?+?a); } public?void?setB(int?b)?{ this.b?=?b; System.out.println("b="?+?b); } @Override void?zhouchang()?{ //?TODO?Auto-generated?method?stub System.out.println("a="?+?a); System.out.println("b="?+?b); System.out.println((2?*?(a?+?b))); } @Override void?mianji()?{ //?TODO?Auto-generated?method?stub System.out.println(a?*?b); } }
這是方形。。;
public?class?YuanXing?extends?TuAn?{ int?r; void?zhouchang()?{ //?TODO?Auto-generated?method?stub System.out.println(2?*?3.14?*?r); } @Override void?mianji()?{ //?TODO?Auto-generated?method?stub System.out.println(3.14?*?r?*?r); } public?void?setR(int?r)?{ this.r?=?r; } }
這是圓形;
import?java.util.Scanner; public?class?Initial1?{ public?static?void?main(String[]?args)?{ //?TODO?Auto-generated?method?stub TuAn?tuan1?=?new?FangXing(); TuAn?tuan2?=?new?YuanXing(); Scanner?scr?=?new?Scanner(System.in); FangXing?a?=?new?FangXing(); YuanXing?b?=?new?YuanXing(); a.setA(scr.nextInt()); a.setB(scr.nextInt()); tuan1.zhouchang(); tuan1.mianji(); b.setR(scr.nextInt()); tuan2.zhouchang(); tuan2.mianji(); scr.close(); } }
這是測試類 ;
問題是運行的時候參數讀不進去啊。。。求指點;
2017-02-16
你把tuan1換成a tuan2換成b試一下 你傳的參數是給a,和b對象的,tuan1和tuan2這兩個對象并沒有傳參數。
2016-12-29
我覺得這個時候你不要用多態了,TuAn?tuan1,而是用子類引用指向子類對象,這樣應該沒問題,如果有問題你再問我