接口:相当于一个要求的提出者,符号为interface与抽象化相同必须定义在文件名字的前面。
public interface X{ };
在接口类型的文件里面 接口就可以不那么规范。
int price = 100;
void fly( );
void swim( );
其中很多都省略了,因为在接口中他的属性不能变,所以final,省略了。而且她只能是静态所以static省略了。前面的public同理。
所以其实 int price =100;实际上是 public static final int price = 100;
而且这个接口文件可以写的就像老板一样; 我要能飞的 , 要能游泳的。。你们自己去搞吧。具体方法也不用打了
所以他的方法都默认是抽象的 (abstract) , 前面的public自然也方便码代码也就可以一并省略了
在接口文件里面的 void fly( );其实就是 public abstract void fly( );
由于这个特性 接口文件你可以不用写的太具体,你可以把整个类的通性,差不多都有的性质写出来。
而接收接口文件的代码是Implements这个代码要写在文件名开始的后面与extends继承类似
不过他是可以多接的 public class test Implements A,B,C { };
那么他与继承的区别可以如下举例子
那么用汽车飞机来举例子这里面交通工具都会有发动机,发动机都差不多是一种运行方式,点火,运行。 这种通性我们就用继承这种子类父类来写。
但是飞机会飞啊,有的小型汽车也能飞啊,双用汽车也可以游泳啊。这时你就不能再次继承了。
你就可以写出这些他们都有的性质。再一一接入