目录
- 接口(Interface):
- 抽象类(Abstract Class):
- 实现类(Concrete Class):
- 接口、抽象类、实现类之间的关系
- 类(Class):
- 接口、抽象类、类三者之间的关系
接口(Interface):
接口是一种完全抽象的类型,它只包含抽象方法声明,没有实例字段和实例方法的实现。
接口可以被其他类实现(implement),实现类必须提供接口中所有方法的实现。
接口是一种定义行为的方式,它定义了实现类应该遵循的规范或契约。
接口可以被视为一种类型,允许你创建该类型的引用,但不允许你创建该类型的实例。
接口支持多继承,一个类可以实现多个接口。
抽象类(Abstract Class):
抽象类是一种特殊的类,它不能被实例化。
抽象类可以包含抽象方法和非抽象方法(具体方法)。
抽象类可以被其他类继承,子类可以选择性地覆盖(override)父类中的抽象方法,但必须提供所有抽象方法的实现。
抽象类可以被视为一种模板,它定义了子类应该遵循的框架或蓝图。
抽象类支持单继承,一个类只能继承一个抽象类。
实现类(Concrete Class):
实现类是一种具体的类,它实现了接口或继承了抽象类,并提供了所有抽象方法的实现。
实现类可以被实例化,并可以调用其中的具体方法。
实现类遵循接口或抽象类定义的规范或框架,同时可以添加自己的属性和方法。
接口、抽象类、实现类之间的关系
接口与抽象类:接口和抽象类都可以被其他类实现或继承,但它们的目的和用法有所不同。接口主要定义行为,而抽象类主要定义框架。
接口与实现类:实现类必须实现接口中定义的所有方法。这种关系确保了实现类遵循接口定义的规范。
抽象类与实现类:实现类可以继承抽象类,并可以选择性地覆盖父类中的抽象方法。这种关系确保了实现类遵循抽象类定义的框架。
类(Class):
类是面向对象编程中的基本单位,用于定义对象的属性和行为。
类可以包含实例变量、构造函数、方法、内部类、枚举等。
类可以继承其他类(除了抽象类外,也可以是普通类),并且可以覆盖父类的方法。
一个类可以实现多个接口,并提供接口中所有方法的实现。
接口、抽象类、类三者之间的关系
类与抽象类:类可以继承抽象类,但必须提供抽象类中所有抽象方法的实现。
类与接口:类可以实现一个或多个接口,并提供接口中所有方法的实现。
抽象类与接口:抽象类可以实现接口,并为接口中的方法提供实现。这意味着抽象类可以作为接口的“默认实现”。此外,抽象类也可以包含自己的抽象方法和非抽象方法,而接口只能包含抽象方法。
- 附
接口 | extends | 接口 |
---|---|---|
抽象类 | implements | 接口 |
抽象类 | extends | 抽象类 |
类 | extends | 抽象类 |
类 | extends | 类 |
类 | implement | 接口 |
总结:
类与类之间的关系都是 extends 关系;
类与接口之间的关系都是 implements 关系,可以多实现;
接口与接口之间的关系都是 extends 关系,可以多继承。
Note:
欢迎点赞,留言,转载请在文章页面明显位置给出原文链接
知者,感谢您在茫茫人海中阅读了我的文章
没有个性 哪来的签名!
详情请关注点我
持续更新中
© 2024 04 - Guyu.com | 【版权所有 侵权必究】 |