抽象类是用 abstract关键字修饰的类,具有如下特征
:
1.抽象类是无法初始化的类,就是无法创建类型该类的对象
假如有一个类的定义为:
abstract public class Animal {
}
由于该类为抽象类,所以不能创建Animal animal=new Animal ();的对象。
2.抽象类可以作为引用类型
如类的定义为:
abstract public class Animal{
}
public class Dog extends Animal{
}
虽然类Animal为抽象类,但是还可以定义为引用类型,如Animal dog=new Dog();
3.抽象类除了可以被继承之外,是没有用途、没有值、没有目的。
4.除了类之外,也可以将方法标记为抽象的。抽象的类代表此类必须被extends过,抽象的方法代表此方法一定要被覆盖过。如:public abstract void eat();
5.如果声明了一个抽象方法,包含该方法的类也被须被标记为抽象的,因为你不能在非抽象类中拥有抽象方法。
6.当你继承抽象类时,必须实现该类中包含的所有抽象方法。
接口是用interface标记的类,实现接口时要使用implements这个关键词。接口是100%的抽象类,其中的方法都没有实现。所以实现某接口的类必须实现它所有的方法,因为这些方法都是public与abstract的。
接口具有很大的适用性,若以接口取代具体的子类或抽象的父类作为参数或返回类型,就可以传入任何有实现该接口的东西。
分享到:
相关推荐
接口与抽象类区别 在软件开发中,接口和抽象类是两个常用的概念,但它们之间的区别却让许多人感到困惑。那么,什么是抽象类和接口?它们之间有什么区别?下面,我们就来详细地探讨这个问题。 一、抽象类 抽象类是...
在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性的关键...通过阅读"java中接口与抽象类的详细分析与比较.doc"文档,你将获得更深入的洞察和实践指导,进一步提升你的Java编程能力。
4. 绑定关系:抽象类与子类有从属绑定,接口与实现类之间没有这种绑定。 5. 动态绑定:两者都支持运行时多态,即父类引用指向子类对象。 在使用原则方面: 1. 抽象类:通常用于一组相关子类共享代码,减少代码冗余...
C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例 C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例
Java接口与抽象类的课件,适合初学者,主要对接口与抽象类进行简要介绍,PPT版本。
接着深入探讨了类与对象的基本用法,并详细讲解了接口和抽象类的作用,包括它们的异同点和组合使用方式。文章通过丰富的示例代码展示了如何在实际编程中利用接口和抽象类来实现多态和代码复用。 适合人群:初学者到...
3. 抽象类与接口的选择 在选择抽象类定义方式时,需要考虑问题领域的本质理解和设计意图是否正确、合理。abstract class 和 interface 之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,但是...
内容概要:本文详细介绍了C#面向对象编程中的接口与抽象类的定义、实现及其在实际开发中的应用场景。首先,文章回顾了面向对象编程的基础概念,包括类与对象、封装、继承和多态。接着,详细探讨了接口和抽象类的定义...
本项目"接口与抽象类的入门小程序"是针对C#开发者,使用Visual Studio 2010编译环境的一个实践教程,旨在帮助初学者理解和掌握这两种关键的类组织结构。 接口(Interface)在C#中是一种完全抽象的类型,它定义了一...
最后比较了接口和抽象类的区别,讨论了它们在不同场景下的最佳实践,并探讨了密封类与接口结合使用的优点。 适合人群:有一定Kotlin基础的开发者,特别是对面向对象编程和设计模式感兴趣的程序员。 使用场景及目标:...
在Java编程语言中,抽象类和接口是两种重要的面向对象设计...通过这样的练习,你可以更好地理解和掌握Java中的抽象类与接口,以及它们在实际开发中的应用。在实践中不断尝试和调试,将有助于深化对这两个概念的理解。
Java中的高级类操作涉及到抽象类和接口的使用。抽象类是一种不能被实例化的类,它主要用来被其他类继承,定义共有的属性和方法。接口则是一种完全抽象的类型,用于定义一组方法签名,实现多继承的效果。 首先,让...
// 接口中的方法只能通过对象调用,不能通过类名调用 }}在Java中,接口和抽象类都是用于实现多态性的重要工具,但它们之间存在显著的区别: 1. **接口(Interface)**: - 接口是一个完全抽象的类型,它只包含...
特征之接口与抽象类PPT学习教案.pptx
在编程领域,接口和抽象类是面向对象设计中两种重要的机制,它们用于定义类的行为和结构。虽然两者在某些方面有相似之处,但它们在概念、实现方式和用途上存在显著差异。 首先,抽象类是一种特殊的类,它不能被实例...
在编程语言中,C#提供了两种机制来实现多态性和代码重用,即抽象类和接口。虽然两者在某些方面有相似之处,但它们在设计理念和使用场景上有显著的差异。 首先,我们来深入理解抽象类。抽象类是一种特殊的类,它不能...
接口与抽象类的区别 抽象方法是必须实现的方法。就象动物都要呼吸。但是鱼用鳃呼吸,猪用肺呼吸。 动物类要有呼吸方法。怎么呼吸就是子类的事了。 现在有很多讨论和建议提倡用interface代替abstract类,两者从...