Java中的类和接口之间的区别
内容
类和接口都用于创建新的引用类型。类是字段和在字段上操作的方法的集合。接口具有完全抽象的方法,即没有任何人的方法。接口在语法上类似于类,但是类和接口之间的主要区别在于可以实例化一个类,但是永远不能实例化一个接口。因此,让我们借助下面显示的比较表来了解类和接口之间的更多区别。
- 比较表
- 定义
- 关键差异
- 结论
比较表
比较基础 | 类 | 接口 |
---|---|---|
基本的 | 实例化一个类以创建对象。 | 接口永远无法实例化,因为方法无法在调用时执行任何操作。 |
关键词 | 类 | 接口 |
访问说明符 | 班级成员可以是私人的,公开的或受保护的。 | 接口的成员始终是公共的。 |
方法 | 定义类的方法以执行特定的操作。 | 接口中的方法纯粹是抽象的。 |
实施/扩展 | 一个类可以实现任何数量的接口,并且只能扩展一个类。 | 一个接口可以扩展多个接口,但不能实现任何接口。 |
建设者 | 一个类可以具有构造函数来初始化变量。 | 接口永远不会有构造函数,因为几乎没有任何变量可以初始化。 |
类的定义
没有Java的类,类是Java编程中最重要的方面。一个类创建引用类型,这些引用类型用于创建对象。一个类具有签名和主体。班级的签名包含班级的名称和信息,以告知该班级是否继承了另一个班级。类的主体具有字段和在这些字段上操作的方法。使用关键字创建类 类。让我们看看如何声明一个类。
类class_name {/ *字段...方法* /}
当实例化一个类时,创建的每个对象都包含一个字段和方法的副本。在类内声明的字段和成员可以是静态的也可以是非静态的。每个对象的静态成员值是恒定的,而每个对象根据其要求以不同的方式初始化非静态成员。
类的成员具有访问说明符,这些说明符决定成员对用户或子类的可见性和可访问性。访问说明符是公共的,私有的和受保护的。一个类可以由另一个类使用访问说明符继承,该说明符将决定子类(继承类)中超类(继承的类)成员的可见性。因此,类满足了面向对象编程中数据隐藏和封装的概念。
接口定义
接口也是用Java定义的引用类型之一。接口的重要性在于,在Java中,一个类只能继承一个类。为了避免这种限制,Java的设计人员引入了接口的概念。接口在语法上类似于类,但是缺少字段声明,并且接口内的方法没有任何实现。使用关键字声明接口 接口。让我们查看接口的声明。
接口interface_name {type var_name = value;输入method1(parameter-list);输入method2(parameter-list); 。 。 }
接口没有定义在接口内部声明的任何方法,因为它缺少要操作的字段。仅仅因为接口内的任何方法都不会执行任何操作,所以永远无法实例化接口。如果接口具有任何字段成员,则必须在声明它们时对其进行初始化。接口从不包含任何构造函数,因为它缺少要初始化的字段成员。因此,接口仅定义类必须执行的操作,而不是类必须执行的操作。
一旦创建了接口,就可以使用关键字通过任何数量的类来实现 实施。但是实现接口的类必须定义接口内部的所有方法。一个接口还可以使用以下方法继承另一个接口 延伸 关键词。如果一个类实现了扩展另一个接口的接口。然后,一个类必须定义出现在链中的两个接口的方法。接口内的方法必须始终是公共的,因为实现它们的类必须访问它们。
Java中类和接口之间的主要区别
- 可以通过创建其对象来实例化一个类。永远不要实例化接口,因为在接口内部声明的方法是抽象的,并且不执行任何操作,因此不使用实例化任何接口。
- 使用关键字类声明一个类。以相同的方式,使用关键字接口创建接口。
- 类的成员可以具有访问说明符,例如public,private,protected。但是接口的成员始终是公共的,因为实现它们的类必须访问它们。
- 定义了一个类内部的方法以对在该类中声明的字段执行操作。由于接口缺少字段声明,因此接口内部的方法纯属抽象。
- 一个类可以实现任意数量的接口,但只能扩展一个超类。一个接口可以扩展任何数量的接口,但不能实现任何接口。
- 一个类在其内部定义了构造函数以初始化变量。但是,接口没有任何构造函数,因为没有要初始化的字段。接口的字段仅在声明时初始化。
结论:
类和接口都有自己的重要性。当我们需要定义如何完成任务时,使用一个类。当我们需要知道必须完成什么任务时,可以使用一个接口。