我是Java的初学者,所以有时我很难理解一些示例。我想知道代码中将实现哪种speed方法以及哪种speed()方法的print语句班级将在输出中打印出来?
class Car{
public Car()
{
System.out.println("Class Car");
}
public void vehicleType()
{
System.out.println("Vehicle Type: Car");
}
}
class Maruti extends Car{
public Maruti()
{
System.out.println("Class Maruti");
}
public void brand()
{
System.out.println("Brand: Maruti");
}
public void speed()
{
System.out.println("Max: 90Kmph");
}
}
public class Maruti800 extends Maruti{
public Maruti800()
{
System.out.println("Maruti Model: 800");
}
public void speed()
{
System.out.println("Max: 80Kmph");
}
public static void main(String args[])
{
Maruti800 obj=new Maruti800();
obj.vehicleType();
obj.brand();
obj.speed();
}
}
答案 0 :(得分:1)
似乎您想问一问,在您执行speed()
方法中的代码时,将调用哪个方法(未实现)。由于main
的类型为obj
(由于Maruti800
),因此将调用new Maruti800()
类中的speed
方法并输出{{ 1}}。相比之下,如果您将对象声明为Maruti800
,则Max: 80Kmph
将从Maruti obj = new Maruti();
类中调用方法obj.speed()
。