java基础八股 接口是一种完全抽象的类,它只包含方法的声明而没有实现。接口主要是对类的行为进行约束,实现了某个接口就具有了对应的行为。 抽象类是一种半抽象的类,他可以包
java基础八股
接口是一种完全抽象的类,它只包含方法的声明而没有实现。接口主要是对类的行为进行约束,实现了某个接口就具有了对应的行为。
抽象类是一种半抽象的类,他可以包含方法的声明和部分实现。抽象类是作为其他类的基类,提供一些通用的方法实现,并允许子类进行扩展和重写。抽象类可以定义抽象方法和具体方法,抽象方法需要子类去实现。
区别:
方法实现:接口中的方法只有声明,没有方法体;抽象类的方法可以包含具体的代码实现。
继承关系:一个类可以实现(implements)多个接口;但是只能继承(extends)一个抽象类。
构造函数:接口不能有构造函数;抽象类可以有构造函数
变量定义:接口中的成员变量只能是 public static final类型的,不能被修改且必须有初始值;抽象类的成员变量默认为default,可以在子类中被重新定义,也可以被重新赋值。
追问:接口可以实现其它接口吗?
接口可以继承其他接口,一个接口可以通过extends关键字来继承其他接口