关于接口和类的区别
其实接口可以当做返回值,把接口当成一个类来用旧好了,而且是父类,下面的例子很清楚说明了。
interface iface
{
void callfn(int i);
}
class one implements iface
{
public void callfn(int a)
{
System.out.println("调用一"+a);
}
}
class two implements iface
{
public void callfn(int a)
{
System.out.println(" 调用二"+a);
}
}
class TT
{
public static void main(String arfs[])
{
iface i=new one();
two j=new two();
i.callfn(100);
i=j;
i.callfn(200);
}
}
运行结果是:
调用1100
调用2200
有人说的很明白:
接口也是类的,你编译以后,他的扩展名也是CLASS.
iface是父类,相当于动物.
one是继承的子类,相当于猫
two也是继承的子类,相当于狗.
iface i=new one();相当于猫是一种动物.对的吧
two j=new two();产生一个对象,比如是狗
i=j 相当于狗也是一种动物.对的.
如果上面改成one,这里就会出错,猫不是狗,所以就有错啦