extends和implements区别

extends和implements区别

extends与implements的不一样java

一、在类的声明中,经过关键字extends来建立一个类的子类。web

一个类经过关键字implements声明本身使用一个或者多个接口架构

extends 是继承某个类, ****继承以后可使用父类的方法, 也能够重写父类的方法****;svg

implements 是实现多个接口, *接口的方法通常为空的, 必须重写才能使用*函数

二、extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承this

Java不支持多重继承,可是能够用接口 来实现,这样就要用到implements,继承只能继承一个类,.net

但implements能够实现多个接口,用逗号分开就好了 好比 :xml

class A extends B implements C,D,E继承

接口实现的注意点:接口

a.实现一个接口就是要实现该接口的全部的方法(抽象类除外)。

b.接口中的方法都是抽象的。

c.多个无关的类能够实现同一个接口,一个类能够实现多个无关的接口。

与Extends的不一样
extends, 能够实现父类,也能够调用父类初始化 this.parent()。并且会覆盖父类定义的变量或者函数。这样的好处是:架构师定义好接口,让工程师实现就能够了。整个项目开发效率和开发成本大大下降。 implements,实现父类,子类不能够覆盖父类的方法或者变量。即便子类定义与父类相同的变量或者函数,也会被父类取代掉。 这两种实现的具体使用,是要看项目的实际状况,须要实现,不能够修改implements,只定义接口须要具体实现,或者能够被修改扩展性好,用extends。