Не могу понять про статики. Вроде бы, если класс статик, то его объект не нужно создавать, или не так?
public static void main(String[] args) {
        System.out.println((new Goose()).getSize());
        System.out.println((new Dragon()).getSize());
    }
Почему нельзя писать вот так:
public static void main(String[] args) {
        System.out.println( Goose.getSize());
        System.out.println(Dragon.getSize());
    }