[PHP]求大神解答关于PHP接口中方法的形参修饰的问题

<?php
interface Band {
     public function getName();
     public function getGenre();
     public function addMusician(Musician $musician);
     public function getMusicians();
  }

  interface Musician {
     public function addInstrument(Instrument $instrument);
     public function getInstruments();
     public function assignToBand(Band $band);
     public function getMusicianType();
  }


在一本教材上看到以上代码,代码中出现了三次类似 public function addMusician(Musician $musician); 的方法定义,请问
一、方法中形参Musician $musician前面的修饰单词 Musician是什么意思? 类名? 接口名?
二、用这种词修饰形参有什么作用?

感谢!

Musician是一个接口。这里修饰参数,表示传入的参数是一个对象,并且这个对象必须实现Musician接口。