I have classes Dog, Cat, ... extends of Pet and init method. How to eliminate duplicate code, if init method must be void.
public class Tester {
private Pet pet1;
private Pet pet2;
private int i;
public void pet1Init(){
switch (i){
case 0:
pet1 = new Cat();
break;
case 1:
pet1 = new Dog();
break;
.....
}
}
public void pet2Init(){
switch (i){
case 0:
pet2 = new Cat();
break;
case 1:
pet2 = new Dog();
break;
.......
}
}
}