---------------------接口在开发中的作用------------

接口在开发中的作用类似于多肽在开发中的作用

多肽:面向对象编程,不要面向具体编程,降低程序的耦合度,提高程序的扩展力。
public class Master{
public void feed(Dog d){}
public void feed(Cat c){}
 //假设又要养其他的动物,那么这个方法就要再加一。(需要修改代码了
 // 这样的扩展能力太差了,违背了ocp原则(对扩展的开放,对修改已关闭)public class Master{
 public void feed (Animal a){
 //面向Animal父类进行编程,不要面向具体进行编程
 //这样子程序的扩展能力就强。
 }
 }接口在开发中的作用?
接口是完全抽象的
而我们以后的需求是抽象对象
面向接口编程,而不要面向具体编程(面向抽象编程,而不要面向具体编程)
优先选择接口(因为继承抽象类后,此类将无法再继承,所以会丧失此类的灵活性)
is - a , has-a like-a
 is-a:
 猫是一个动物
 继承关系public class A {
 public void method1() {}
 }
 public class B extends A {
 public void method1() {}
 }has-a :
 关联关系
 以属性的形式存在。public class A {
 private B b;
 }
 public class B {
 }is-like-a;
表示实现关系。
实现关系通常是:类实现接口。
 public interface I {
 public void method1() ;
 }
 public class A implements I {
 public void method1() {
 //实现
 }
 }--------------未记录------------
抽象类和接口的区别
a) 接口描述了方法的特征,不给出实现,一方面解决 java 的单继承问题,实现了强大
 的可接插性
 b) 抽象类提供了部分实现,抽象类是不能实例化的,抽象类的存在主要是可以把公共的
 代码移植到抽象类中
 c) 面向接口编程,而不要面向具体编程(面向抽象编程,而不要面向具体编程)
 d) 优先选择接口(因为继承抽象类后,此类将无法再继承,所以会丧失此类的灵活性)--------未记录------
-----包和import----------
包其实就是目录,特别是项目比较大,java 文件特别多的情况下,我们应该分目录管理,在 java
 中称为分包管理,包名称通常采用小写
 /*
 1、包最好采用小写字母
 2、包的命名应该有规则,不能重复,一般采用公司网站逆序,
 如:com.bjpowernode.项目名称.模块名称
 com.bjpowernode.exam
 */import 是用来引用类名的。