java接口和抽象类的区别 收藏
简单来说, 接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法。
一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。
还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用.
1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface.
2.在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是 static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。
3.abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。
4.实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法。接口中则不能有实现方法。
5.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
6.抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值。
7.接口中的方法默认都是 public,abstract 类型的。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lpdb2001/archive/2008/08/04/2765595.aspx
分享到:
相关推荐
在编程世界中,Java是一种广泛使用的面向对象的编程语言,其设计原则之一是“多态性”。为了实现这一目标,...在阅读文章《Java 接口和抽象类区别》时,你可以深入学习这两个概念的细节,并通过实践来巩固你的理解。
11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别....
10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和...
Java 接口和抽象类 Java 编程语言提供了两种机制来实现面向对象编程的多态性:接口和抽象类。这两种机制使得 Java 应用开发具有灵活性和敏捷性。 抽象类 抽象类是一种特殊的类,它不能被实例化,不能被直接使用,...
### 详细解析Java中抽象类和接口的区别 #### 引言 在面向对象编程中,Java作为一种广泛应用的编程语言,提供了多种方式来实现抽象的概念。其中最常用的两种机制是抽象类(abstract class)和接口(interface)。这...
### Java利用接口和抽象类改写求圆的面积和梯形的面积 #### 深入理解Java的接口和抽象类 在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性和代码复用的重要概念。它们都无法被...
在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...
在Java编程语言中,抽象类和接口是两种重要的面向对象设计概念,它们都用于实现多态性,但各自具有不同的特点和应用场景。了解并熟练掌握它们的区别对于编写高质量的Java代码至关重要。 首先,抽象类是一种不能被...
Java中的类、抽象类和接口的区别和联系
4. 多继承:Java接口支持多继承,一个接口可以继承多个父接口,实现接口的组合和扩展。 5. 实现:实现接口的类必须实现接口中声明的所有方法,否则这个类也必须被声明为抽象类。 其次,抽象类(Abstract Class)是...
java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例...
Java抽象类与接口实验报告
在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性的关键概念,它们各自有特定的用途和优缺点。本文将深入探讨这两种概念,帮助你理解它们之间的区别以及如何在实际开发中选择使用...
Java接口与抽象类的课件,适合初学者,主要对接口与抽象类进行简要介绍,PPT版本。
在Java编程语言中,抽象类和接口是两种重要的面向对象设计概念,它们允许我们定义规范,供其他类去实现或继承。在这个练习中,我们将深入理解这两种机制,并通过实际的代码示例和注释来加深理解。 首先,让我们讨论...
### Java抽象类与接口的区别 #### 一、引言 在Java编程中,抽象类(Abstract Class)与接口(Interface)都是实现抽象的关键工具。它们各自有着独特的优势和适用场景,掌握这两者的区别有助于开发者更好地设计系统...
Java中的抽象类(abstract class)和接口(interface)都是用于创建抽象化模型的重要工具,它们在面向对象编程中扮演着核心角色。这两种机制都允许我们定义一组方法的签名,但不提供具体实现,从而实现“设计契约”...
Java 类、抽象类、接口和继承是面向对象编程的核心概念,它们构成了 Java 语言的基石。在 Java 中,类是用来封装数据和行为的结构,而对象则是类的实例,具有具体的属性和行为。 1. **类与对象的区别** 类是模板...