以下代码提示错误了。请问错误在哪里?

来源:10-1 Java 中的多态

huangguayutou

2016-04-27 21:11

package com.bobby;

//创建一个Vehicle的父类

public class Vehicle {

int paasenger;

}

//创建一个Car的子类

public class Car extends Vehicle {

int passenger = 4;

}

//执行子类

public class initial {

public static void main(String[] args) {

Vehicle obj1 = new Car();

System.out.println(obj1.passenger);

}

}


写回答 关注

4回答

  • 怒放的生命012
    2016-05-23 19:38:46

    这是动态绑定的概念,只有在父类的方法被子类重写时,才默认调动子类的方法;不被重写时调用的还是父类的方法,而父类的成员变量是不会被子类重写的,所以调用的是是父类的成员变量的值


  • 流逝的回忆已成空白
    2016-05-17 16:53:56

    http://img.mukewang.com/573adbfd00012c5507080525.jpg

    三个变量都不一样!怎么可能不报错!!

  • 爱你651754
    2016-04-27 22:40:25

    三个类 要分别分开创建一个类 不是同一个类不能创建在一起 ,还有你父类的int paasenger单词有错,应该是passenger,  这两个错误!

    YEAHDD... 回复huangg...

    以我的愚见,因为Vehicle obj1 = new Car(); 所以会优先执行父类的代码。解决方法之一就是将Vehicle obj1 = new Car(); 中的Vehicle改成Car

    2016-05-10 15:11:25

    共 2 条回复 >

  • 黄泽鑫有颗王者心
    2016-04-27 21:53:28

    子类要重写父类的方法时,要重新定义父类的方法,为public class Vehicle {  int passenger = 4;}。

    黄泽鑫有颗王...

    额,看错。不是方法的问题

    2016-04-27 22:07:11

    共 1 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530653 学习 · 6091 问题

查看课程

相似问题