Java入门知识接口与抽象类的区别
程序员文章站
2022-06-21 13:55:28
在学习到这两个概念后,总感觉比较模糊,感觉这两个东西很像,所以在此做一个笔记抽象类与接口的区别:成员区别:抽象类:抽象类中可以有变量、常量、抽象方法、非抽象方法和构造方法。(有抽象方法的类一定是抽象类,抽象类不一定有抽象方法)public abstract class Animal{ Animal(){ //无参构造方法 } Animal(int age){ //带参构造方法 thi...
在学习到这两个概念后,总感觉比较模糊,感觉这两个东西很像,所以在此做一个笔记
抽象类与接口的区别:
成员区别:
抽象类:抽象类中可以有变量、常量、抽象方法、非抽象方法和构造方法。(有抽象方法的类一定是抽象类,抽象类不一定有抽象方法)
public abstract class Animal{
Animal(){ //无参构造方法
}
Animal(int age){ //带参构造方法
this.age = age;
}
public int age = 10; //变量
final private int height = 20; //常量
public void setAge(int age){ //非抽象方法
this.age = age;
}
public void putHeight(); //抽象方法
}
接口:可以有常量和抽象方法。(变量的定义隐含final关键字的修饰)
public interface Person(){
int age = 10; //常量 (默认)隐含public static final 修饰
void work(); //抽象方法 (默认)隐含public abstract 修饰
}
关系区别:
类与类:继承关系。单继承、多层继承。
public class A extends B(){
...
)
类与接口:实现关系。单实现、多实现(一个类实现多个接口)。
public class A extends B implements C,D{ //单继承多实现
...
}
接口与接口:继承关系。单继承、多继承。
public interface A extends B,C(){ //多继承
...
)
设计区别:
抽象类:对行为和属性进行抽象。
接口:侧重对行为进行抽象。
本文地址:https://blog.csdn.net/qq_36803895/article/details/107696318
上一篇: Java DVD租借系统