Итак, у меня есть эти классы, один мой суперкласс, другой мой подкласс. У меня проблемы с вызовом моего метода подкласса в моем методе суперкласса, поэтому я могу получить и эти результаты. методы перегружены, и у меня возникли проблемы с пониманием этого. Я думаю, что если я смогу получить это, это поможет мне понять, как эти два взаимосвязаны и работают.
У меня проблемы с конструктором копирования, методом toString и методом equals в моем подклассе
суперкласс:
public class Car
{
private String make;
private String model;
private int miles;
// The default constructor—use this
public Car()
{
this.make=null;
this.model=null;
this.miles=0;
}
// The 3-parameter constructor –use this
public Car(String make,String model,int miles)
{
this.make=make;
this.model=model;
this.miles=miles;
}
// The copy constructor—use this
public Car(Car obj)
{
this.make=obj.make;
this.model=obj.model;
this.miles=obj.miles;
}
// The toString method—use this
public String toString()
{
String str;
str = "The car Brand: "+ this.make +" Mobel: "+this.model+" miles on the car: "+this.miles;
return str;
}
// The equals method—use this
public boolean equals(Car obj)
{
if (this.make.equals(obj.make)&&this.model.equals(obj.model)&&this.miles==obj.miles)
return true;
else
return false;
}
}
//My subclass method
public class Convertible extends Car
{
private String typeTop;
// The default constructor—use this
public Convertible()
{
super();
this.typeTop= null;
}
// The 4-parameter constructor—use this
public Convertible(String make, String model,int miles,String typeTop)
{
super(make,model,miles);
this.typeTop=typeTop;
}
// The copy constructor—use this
public Convertible(Convertible obj)
{
super(Convertible obj);
this.typeTop=obj.typeTop;
}
// The toString method—use this
public String toString()
{
String str;
str =super.toString()+this.typeTop;
return str;
}
// The equals method—use this
public boolean equals(Convertible obj)
{
if(super.equals(super.obj)&&this.typeTop.equals(obj.typeTop))
return true;
else
return false;
}
}