这两天在进行Spring的学习,理解起IOC来有些困难,于是发觉自己对依赖理解的太少,昨晚到今天通过网络找资料好好的看了下接口及其继承。
Interface是高度抽象的,必须得以实现,其设计与应用与实际问题和内部程序结构紧密关联。是实现可复用的主要手段,可能会产生很多的类,从依赖优化的角度,来挖掘隐藏类,在简洁和功能复用上寻求平衡。
接口相当于为一类问题提供了一套协议,要对其进行扩展则必须遵照它们。
接口的特性有:
1、接口能实现一个接口或多个接口
2、成员变量是static final的,也就是只能被静态方法访问的常量
3、成员方法都是public abstract类型的
4、经常有多个实现类,以及factory类来实现解耦,这种设计就是面向对象的精髓,23种设计模式也许就是最好的例子。
5、接口不能实例化,可以通过实例化其实现类,来实现接口定义的行为。( 接口必须通过类来实现它的抽象方法)
6、当类实现了某个接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象的
7、不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例:
public class B implements A{}
A a = new B(); //引用变量a被定义为A接口类型,引用了B实例
A a = new A(); //错误,接口不允许实例化
接口的使用:
1、interface可作为factory类的参数来用,对接口的操作实际上是对其实现类中的方法的使用,注意无参构造函数。
2、记住最典型的JDBC数据库接口的实现
另外补充几个abstract类的特性:
1、abstract类可以有非抽象方法
2、可以不实现其中的某些方法,这样的子类还是抽象类
3、记住抽象方法的写法,如public abstract viod Method(); ,没有大括号
4、不能多继承
5、实例化接口或对象,注意引用变量范围的大小,如:List list = new ArrayList();
还只能真正的理解这么多,练就这些基本功是需要耐心的。
Interface是高度抽象的,必须得以实现,其设计与应用与实际问题和内部程序结构紧密关联。是实现可复用的主要手段,可能会产生很多的类,从依赖优化的角度,来挖掘隐藏类,在简洁和功能复用上寻求平衡。
接口相当于为一类问题提供了一套协议,要对其进行扩展则必须遵照它们。
接口的特性有:
1、接口能实现一个接口或多个接口
2、成员变量是static final的,也就是只能被静态方法访问的常量
3、成员方法都是public abstract类型的
4、经常有多个实现类,以及factory类来实现解耦,这种设计就是面向对象的精髓,23种设计模式也许就是最好的例子。
5、接口不能实例化,可以通过实例化其实现类,来实现接口定义的行为。( 接口必须通过类来实现它的抽象方法)
6、当类实现了某个接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象的
7、不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例:
public class B implements A{}
A a = new B(); //引用变量a被定义为A接口类型,引用了B实例
A a = new A(); //错误,接口不允许实例化
接口的使用:
1、interface可作为factory类的参数来用,对接口的操作实际上是对其实现类中的方法的使用,注意无参构造函数。
2、记住最典型的JDBC数据库接口的实现
另外补充几个abstract类的特性:
1、abstract类可以有非抽象方法
2、可以不实现其中的某些方法,这样的子类还是抽象类
3、记住抽象方法的写法,如public abstract viod Method(); ,没有大括号
4、不能多继承
5、实例化接口或对象,注意引用变量范围的大小,如:List list = new ArrayList();
还只能真正的理解这么多,练就这些基本功是需要耐心的。