---------------------接口在开发中的作用------------
接口在开发中的作用类似于多肽在开发中的作用
多肽:面向对象编程,不要面向具体编程,降低程序的耦合度,提高程序的扩展力。
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 是用来引用类名的。