java----接口
1,常数:public 公开的,不能封装;static 静态的,直接类名引用;final 常量,不可变;
2,方法:接口中的方法都是抽象的;public ;abstract
3,接口:特殊的抽象类;
所有的属性都是公开静态常量;
所有的方法都是公开抽象方法;
没有构造方法;
interface IA { } ;
class Impl implements IA { }; // Impl 实现 接口IA ;
一个类去实现接口,如果这个类不希望也成为抽象类,就必须实现接口中所有方法。
接口是抽象类,不能创建对象,但可以创建引用:IA a=new Impl() ;//多态同样适用
接口的特点:1,接口与接口可以多继承:interface ID extends IB,IC
2,一个类在继承另外一个类的同时,还可以实现多个接口
class Impl extends classE implements IA,ID { }; // 先extends 后 implements !
Impl i=new Impl();
IA a=i;
IB b=i;
IC c=i;
ID d=i;
ClassE e=i;
a.ma1();
a.ma2();
b.mb();
c.mc();
d.mb();
d.mc();
d.md();
e.me();
没有多态就没有抽象abstract ,没有 抽象就没有接口interface ,没有接口就没有java;
子类引用赋值给父类引用不需要强转,父类引用赋值给子类引用需要强转,不相关的没有父子类关系的引用强转也没用;