父類,子類 多態(tài)
?package?immoc;
public?class?Transtration?{
?public?static?void?main(String[]?args){
double?client;
double?style;
double?velocity;
Transtration?obj1=new?car();
Transtration?obj2=new?steamship();
Transtration?obj3=new?plan();
obj1.ship();
?}
}
??class?car?extends?Transtration{
??public?void?stration(double?client){
???client=30.0;
??System.out.println("汽車在陸地上"+client);}
?
??}
??class?steamship?extends?Transtration{
??public?void?ship(double?client?){
??client=40.0;
??System.out.println("輪般在海上運(yùn)輸"+client);?
??}
??}
??class?plan?extends?Transtration{
??public?void?air(double?client){
??client=50.0;
??System.out.println("飛機(jī)在天空"+client);????
??}
??
??}
父類創(chuàng)建對(duì)象 和引用那里不太會(huì),,,,
2015-08-02
obj1.ship();出問題了。
引用能調(diào)用什么方法,看的是這個(gè)引用的類型,就是說obj1只能調(diào)用他這個(gè)類(父類)里方法。
而你的父類中只有一個(gè)main方法,你只要在類里面建一個(gè)ship()方法就行了,只是不太符合常理,畢竟不是所有的交通工具都可以像船一樣航行。
還有還有,如果可以調(diào)用ship方法,也一定要再回過頭去看一下這個(gè)方法需不需要參數(shù)。
2015-08-01
運(yùn)行不出來吧,Transtration?obj1=new?car();是引用父類類型指向子類對(duì)象,你的這個(gè)代碼里Transportation這個(gè)父類里沒有方法,因此Transportation這個(gè)父類只有一個(gè)隱藏的同名無(wú)參構(gòu)造方法 也就是Transportation(); 既然是引用父類類型指向子類對(duì)象,就是說obj1這個(gè)子類car的對(duì)象他跟父類的類型是一樣的,只有一個(gè)無(wú)參的構(gòu)造方法,這個(gè)無(wú)參的構(gòu)造方法是car類里隱藏的car();所以你接下來的這些ship等等自己重寫的方法在obj1里是沒有的,所以調(diào)用不了,要調(diào)用只能調(diào)用obj1.car(); 最好是car obj1 = new car();這樣就能隨便調(diào)用你自己重寫的方法了。