If I have an abstract class and its subclasses:

```
public abstract class Animal{
  //other methods..
}

public class Dog extends Animal{
  private int legs;
  public Dog(int legs){
      this.legs = legs;
  }
}

public class Fish extends Animal{
  private int legs;
  private int speed;

  public Fish(int legs, int speed){
      this.legs = legs;
      this.speed = speed;
  }
}

```

Is there a way to initalize a new Dog or Fish by simply using constructor overloading?

Something like:

```
public void createNewAnimal(int new_legs, int new_speed){
  new Animal(new_legs, new_speed) //Makes fish.
  new Animal(new_legs) //Makes dog.
}

```