1.Java抽象类和接口有什么区别
最主要的区别就是:
抽象类主要用来抽象类别,接口主要用来抽象功能。
举个例子:Person类这个是抽象类,Student类和Teacher类继承Person类,此处为什么要用抽象类而不用接口呢?
因为Student和Teacher都是属于Person,他们拥有Person所有的特征,但是又有Person没有的特质,这是一个父类到子类的过程,这符合抽象类主要用来抽象类别。
再举个例子:有Fly这个接口,然后有Plane类和Bird类都继承这个接口,为什么此时用接口而不用抽象类呢?
因为Plane类和Bird类,都拥有接口Fly的功能,但是Plane类和Bird类都不属于Fly类,这不是一个父类到子类的过程,所以用接口,并且这符合接口主要用来抽象功能的特征