java中抽象类和接口的区别是什么

2024-11-18 18:23:43
推荐回答(2个)
回答(1):

接口中的方法只能是定义不可以有实现,而且所有成员默认均为公有的,实现接口时必须实现该接口定义的所有方法。接口可以多重继承。
而抽象类中则可以存在私有成员,方法允许有实现,继承抽象后可以不去实现该抽象类的抽象方法,但此时该子类也必须声明为抽象类。抽象类不能多重继承。

回答(2):

抽象方法:仅有定义,没有具体实现的方法
抽象类:含有抽象方法的类
一个类如果被定义为抽象类,它就不能被实例化,也就是说,不能有自己的对象

声明接口使用关键字“interface”
接口中一般只包含一组public抽象方法(且必须是公有抽象方法,但方法定义中public abstract可省略),也可以包含public 静态final数据
Java不允许一个子类继承多个超类,却允许一个子类继承一个超类并实现多个接口.