接口和抽象类你应该知道的基础

JAVA中的几句箴言:java

抽象类和接口中均可以包含静态成员变量设计

抽象类中能够包含静态方法,接口内不能包含静态方法继承

abstract不能实例化,只能继承,能够有抽象成员接口

抽象类是对类抽象,而接口是对行为的抽象。开发

 接口:自己没有任何实现,由于Java不涉及表象,而之描述public行为,因此Java接口比Java抽象类更为抽象化。Java的接口能够有public,静态的和final的属性。模板

 抽象类:不想给出定义,百度给出的定义过高深。不适合我这种小白。效率

一、为何接口内的成员只能是静态的?变量

  因为接口不能实例化,非静态成员只能经过实例调用,因此必须定义为static的百度

二、为何抽象类也不能被实例化,但抽象类里面能够定义非静态的:  方法

  因为子类与抽象类的关系中,子类继承抽象类,子类实例化,首先要执行父类的构造器,有构造器就有实例化。

三、为何使用接口?

  接口在实际开发过程当中最大好处是,你能够按照设计,先把接口写好,而后分配大伙干活的时候,告诉a们去用写好的接口去实现他们的具体功能,而告诉b们,去写那些已经写好可是没有具体的代码的接口,这样能够提升工做效率。对了,另外接口解决了java不能多继承的问题。

四、为何使用抽象类:

  抽象类为子类提炼出公共的方法,并提供一个或几个抽象方法留给子类实现;抽象类的设计体现了模板模式的设计思想,即抽象类公共的普通方法依赖一个抽象方法,而抽象方法则推迟到子类中实现细节。

相关文章
相关标签/搜索