The code given below shows a Stackoverflow error when run.But if I make another class CarChange to create objects of Car ,it runs sucessfully. I am a beginner ,doing this code t
It sounds like you might have some infinite recursion happening.
drive()
calls testdrive()
which class drive()
which calls testdriver()
...forever, or until you run out of memory, hence your stack overflow error.
A stackoverflow usually means you have an infinite loop.
The reason you're receiving this is because you're calling drive from the testdrive method and in that method you're calling drive again.
Car() {
c[0] = new Polo();
i=0;
}
As Polo is a subclass of Car() - it must be to fit in the Car[] - it will call the Car's constructor when being constructed itself. The Car constructor tries to create a new Polo().
As Polo is a subclass of Car() - it must be to fit in the Car[] - it will call the Car's constructor when being constructed itself. The Car constructor tries to create a new Polo().
As Polo is a subclass of Car() - it must be to fit in the Car[] - it will call the Car's constructor when being constructed itself. The Car constructor tries to create a new Polo().
... you get the picture?