import scaldi.Injectable;
import scaldi.Injector;
import scaldi.Module;
interface Animal {
void makeSound();
}
class Dog implements Animal {
@Override
public void makeSound() {
}
}
class Cat implements Animal {
@Override
public void makeSound() {
}
}
class AnimalModule extends Module {
bind[Animal] to new Dog
}
public class Main {
public static void main(String[] args) {
Injector injector = new AnimalModule :: new;
Animal animal = injector.get[Animal];
animal.makeSound();
}
}