为了账号安全,请及时绑定邮箱和手机立即绑定

父类,子类 多态

 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);    
  }
  
  }

父类创建对象 和引用那里不太会,,,,

正在回答

2 回答

obj1.ship();出问题了。

引用能调用什么方法,看的是这个引用的类型,就是说obj1只能调用他这个类(父类)里方法。

而你的父类中只有一个main方法,你只要在类里面建一个ship()方法就行了,只是不太符合常理,毕竟不是所有的交通工具都可以像船一样航行。

还有还有,如果可以调用ship方法,也一定要再回过头去看一下这个方法需不需要参数。

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

运行不出来吧,Transtration obj1=new car();是引用父类类型指向子类对象,你的这个代码里Transportation这个父类里没有方法,因此Transportation这个父类只有一个隐藏的同名无参构造方法 也就是Transportation(); 既然是引用父类类型指向子类对象,就是说obj1这个子类car的对象他跟父类的类型是一样的,只有一个无参的构造方法,这个无参的构造方法是car类里隐藏的car();所以你接下来的这些ship等等自己重写的方法在obj1里是没有的,所以调用不了,要调用只能调用obj1.car(); 最好是car obj1 = new car();这样就能随便调用你自己重写的方法了。

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

举报

0/150
提交
取消

父类,子类 多态

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信