DataLine - это интерфейс, который содержит вложенный класс «Info». Вот утверждение:
DataLine.Info di = ...
создает новый экземпляр класса Info, который определен в классе DataLine.
Заявление (Клип) - это то, что мы называем актерами. Он используется для преобразования объекта из типа в другой.
Метод AudioSystem.getLine (di) возвращает объект типа Line. Таким образом, ваш друг преобразовал возвращенный объект в клип, чтобы использовать его для создания объекта c.
Это разрешено и не будет генерировать ошибку, потому что c имеет тип Clip, который расширяет DataLine, а сама DataLine расширяет Line.
Надеюсь, это поможет!