接口
-
普通类:只有具体实现
-
抽象类:具体实现和规范(抽象方法)都有
-
接口:只有规范,自己无法写方法,专业的约束,约束和实现分离:面向接口编程
-
接口就是规范,定义的是一组规则,体现了显示世界中“如果你是,则必须能”的思想:如果你是汽车则必须能跑
-
接口的本质是契约,就想我们人间的法律一样。制定好后大家都遵守
-
OO的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计,模式都只这对具备了抽象能力的语言(比如java,c等)及时因为设计模式所研究的,实际上就是如何合理地去抽象。
package oop.Dome09; //如何能锻炼抽象的思维 --java 架构师 //interface 定义关键字,接口都徐亚实现类 public interface UserService { //接口中所有的定义都是抽象的,public abstract(灰色默认) //public void run(){} public abstract void run(String name);//直接写返回值类型和方法名 public static final int age =99;//定义一个常量 void add(String name); void delete(String name); void update(String name); void query(String name); }
package oop.Dome09; public interface TimerService { void timer(); }
package oop.Dome09; //抽象类 extends //类 可以实现接口 implements 接口 //实现了接口的类,就需要重写接口中的方法 //多继承 利用接口实现多继承 public class UserServiceImpl implements UserService,TimerService{ @Override public void run(String name) { } @Override public void add(String name) { } @Override public void delete(String name) { } @Override public void update(String name) { } @Override public void query(String name) { } @Override public void timer() { } } /* 作用 1.约束 2.定义一些方法,让不同的人实现 3.public abstract 4.public static final 5.接口不能被实例化,接口中没有够着方法 6.implements可以实现多个接口 7.必须要重写接口中的方法 8.总结 */