一。先理解继承与接口
いち。继承
1.定义:
继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。
继承关键词(extends);
2.理解:
有两个类,A类和B类 ,若A类继承B类,则A类被称为"子类"或"派生类",B类被称为"父类"或"超类"
A类就拥有了B类的属性,方法,A类还可以拥有自己的属性和方法,这种还称为"向上转型"
但是也有例外,子类无法调用父类
- 父类中的私有变量无法被继承
- 父类的构造方法也不能被继承,但是能调用,使用supper来掉用
其中还有一个特殊修饰符:protected
对于任何继承与此类的子类而言或者其他任何位于同一个包的类而言,他却是可以访问的
に.接口
1.定义:一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
接口关键词(interface)
2.理解:
是又全局常量和公共抽象的方法所组成的,解决了java无法使用多继承的一种弊端,在jdk1.8之前,所有接口中的方法全是抽象的(抽象方法只能存在于抽象类或者接口中,但抽象类中却能存在非抽象方法,即有方法体的方法。接口是百分之百的抽象类)
さん。抽象类
提到了接口,必定要了解一个抽象,因为接口是百分一百的抽象类
いち。定义:
顾名思义 这个类体现了抽象的思想,是实现多态的一种思想,它的出发点就是为了继承,否则它没有存在的任何意义
抽象类的关键词(abstract)
に。特性
抽象类中没有实现的方法叫做抽象方法,需要加抽象关键词(abstract)
抽象类中也可以没有抽象方法,反之不行
抽象类中可以有已经实现的方法,可以定义成员变量。
二。接口与继承的区别
对继承和接口有一定了解后,开始研究对他的区别
1.继承只能有一个,但是接口的实现有多个
2.接口默认谁是public,不能使用其他修饰符
3.如果接口中添加新方法,则子类中需要实现该方法,若是继承,直接在子类添加实现即可。