首页 > 代码库 > java 接口和抽象类的区别

java 接口和抽象类的区别

接口和抽象类的区别:
1,接口里不能定义私有的方法/变量,抽象类可以
但抽象类如果定义了私有变量,一般会定义一个共有方法来使用这个变量
不然这个变量就没有意义了
private String name;
public void setName(String name){
 this.name = name;
}
public String getName(){
 return name;
}
2,接口里定义的方法没有方法体(除非定义为public/default)
 抽象类定义的方法有方法体
3,接口定义的方法需要全部被实现,抽象类不是
4,可以实现多个接口,但只能继承一个类
5,抽象类是对根源的抽象(is a)接口是对动作/行为的抽象(like a)
比如:人是动物(抽象类),是能说话,会穿衣服(接口)的动物。
所以,可以实现多个接口,但只能继承一个父类

java 接口和抽象类的区别