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