多态和接口把我搞懵了
有这样一段代码 
[code]
package Interface;
public class Testmain {
	public static void main(String[] args) {
		//接口也可以多态
		Talkable t =new students();
		t.speak();
		//如果想用接口里没有的抽象方法需要强制转换
		Studyable s = (Studyable)t;
		s.study();
		
		students S=(students)t;
		
		S.speak();
		S.study();
	}
}
[/code]
Talkable 和 Studyable 两个接口 就是两句话 没什么东西
老师在画内存模型时 说 对象 S s t都是同一个对象 搞得我晕了
------解决方案--------------------首先 Talkable t =new students();new的是一个studens对象,说明一个类型是Talkable的引用变量指向的是 new Studens这个对象(这里记做a)而Studyable s = (Studyable)t;是强制转换 比如你 double d = 2.2,int i = (int)d;c和d指的对象时同一个吧?如果这个道理你明白了
那么Studyable s = (Studyable)t;s和t是同一个对象么?
同理S  s  t都是同一个对象。
希望对你有帮助