给大家一个清晰容易理解的定义;
接口:
是一组相关的交互功能点的定义的集合
我觉得这样说还是有点别扭的,别急,看了下面的代码你就会有 新的收获
首先是定义一个接口aniaml.java
package people;
public interface aniaml {
/*
* java 的interface很好地体现了接口的特征
* 1、是一组功能的集合,而不是一个功能
* 2、接口的功能用于交互,所有的功能都是public的,即别的对象可操作
* 3、接口只定义函数,但不涉及函数实现
* 4、这些功能都是相关的,例如在动物的这个接口中,不适合放植物的功能
*/
public void eat();
public void run();
}
重点理解上面的注释
1、是一组功能的集合,而不是一个功能
2、接口的功能用于交互,所有的功能都是public的,即别的对象可操作
3、接口只定义函数,但不涉及函数实现
4、这些功能都是相关的,例如在动物的这个接口中,不适合放植物的功能
然后进行具体的实现
pig,java
package people;
public class pig implements aniaml{
public void eat(){
System.out.println("pig like to eat grass");
}
public void run(){
System.out.print("pig run :front legs");
}
}
person.java
package people;
public class person implements aniaml{
public void eat(){
System.out.println("people like to eat meat");
}
public void run(){
System.out.print("people run :leg");
}
}
最后编写主函数
package people;
public class text {
public static void main(String[] args){
System.out.println("---preson---");
aniaml Tom =new person();
Tom.eat();
Tom.run();
System.out.println("---pig---");
aniaml pig1 =new pig();
pig1.eat();
pig1.run();
}
}
运行结果如下图所示
我想看完程序之后,大多数人都会问,这个明显可以用类进行实现,为什么要用接口呢?
在大多数情况下,这样是可以的,但有时候,你并不知道自己面对的是一个人或者一头猪,你只知道是各动物,但有希望这个动物按照你的要求进行活动。这就是接口用处的所在,即:你不知道对象所属具体的类,只知道这些对象都具有某种功能