Что здесь происходит ? вопрос назначения java OCJP

Два куска кода, один работает, другой нет, но оба, кажется, делают идентичные вещи

это работает

short s=7;

но это не так это дает ошибку, не может присвоить int коротким. я знаю целое число литерал по умолчаниюint но если это может быть назначено непосредственно выше, то почему не при переходе к методу?

class Demo1{
    public static void main(String[] args){
        new Demo1().go(7);
    }
    void go(short s){System.out.println("short");}
}

Ответы на вопрос(5)

Ваш ответ на вопрос