Teacher类有两个接口,分别是singer和painter。
singer s2=new Teacher(),实际上是new了一个Teacher的对象在内存里,s2指向的就是这个对象,但是s2是singer类型的所以它只看得见Teacher里面实现了singer接口的方法,s2.sleep()和s2.sing()
painter p1=painter s2,相当于p1和s2都指向了Teacher这个对象,但是p1是painter类型的,它只能看见Teacher里面的实现了painter接口的方法,
p1.painter()和p1.eat()。
s2强行转换成painter类型,s2转换后的名字叫p1,是个painter类,表示在s2里只能看见painter那个类里的方法,其他的方法看不见,paint是painter类里的方法,p1.paint肯定可以调用啊。你把多肽那个多看几遍,看懂