Skip to content

Instantly share code, notes, and snippets.

public class Duck implements Animal {
@Override
public String makeNoise() {
return "Quack";
}
}
public class AnimalFactory {
public Animal getAnimal(String animal) {
if (animal == null)
return null;
else if (animal.equalsIgnoreCase(Dog.class.getSimpleName()))
return new Dog();
public class MainWithRuntimeInput {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.print("Enter an Animal: ");
String animalName = reader.next();
reader.close();
public class Main {
public static void main(String[] args) {
//Create instance of Factory
AnimalFactory animalFactory = new AnimalFactory();
//Obtain Dog object from the factory
Animal dog = animalFactory.getAnimal("Dog");
public interface Shape {
void draw();
}
public class Circle implements Shape {
@Override
public void draw() {
System.out.println("Drawing a Circle");
}
}
public class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("Drawing a Rectangle");
}
}
public class Square implements Shape {
@Override
public void draw() {
System.out.println("Drawing a Square");
}
}
public interface Color {
void paint();
}
public class Blue implements Color {
@Override
public void paint() {
System.out.println("Painting color Blue");
}
}