用关键字interface定义接口,通过关键字implements来实现接口

【定义】Java中,能够完成特定功能的,由若干属性和方法组织成的,相对独立的属性和方法的集合。

【用途】实现类的多继承,以解决Java只能单继承,不支持多继承的问题。

【特点】

用关键字interface定义接口,通过关键字implements来实现接口;

接口中的成员变量具有公共性(public)、静态性(static)和最终性(final)。所以修饰符只能是public,因此只能定义常量

实现多接口的类必须符合3个原则:能为所有的接口提供实现的功能,

能遵循重写的所有规则,

能保持相同的返回的数据类型。

接口的”继承”与类之间的继承不同,”继承”该接口的类,需要”自力更生”,去实现接口中的抽象方法,因此接口也相当于一个特殊的抽象类。

接口相当于程序开发的一组协议,需要此功能的类均可”继承”该方法和集合。

接口中的属性都是静态常量,方法都是抽象方法(即没有给出方法具体定义),一个类实现接口后,将继承接口中的所有静态常量。

实现接口中的抽象方法时,方法头必须与接口定义中的方法头完全相同(包括访问控制修饰符、返回值类型、参数列表等)(例外:可去掉关键abstract、接口定义时public可缺省,但是实现时不可缺)

原文地址:https://www.cnblogs.com/borter/p/9463023.html

时间: 2024-10-26 17:33:39

用关键字interface定义接口,通过关键字implements来实现接口的相关文章

Java接口定义(interface)及使用(implements)

1. 在类的声明中,通过关键字extends来创建一个类的子类.一个类通过关键字implements声明自己使用一个或者多个接口.extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用2.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口 来实现,这样就要用到implements,继承只能继承一个

【Java关键字-Interface】为什么Interface中的变量只能是 public static final

三个关键字在接口中的存在原因:public:接口可以被其他接口继承,也可以被类实现,类与接口.接口与接口可能会形成多层级关系,采用public可以满足变量的访问范围: static:如果变量不是static的,那么接口必须实例化才可以访问自己的变量,接口不能被实例化,故非static的变量是无效的: final:如果变量不是final的,而方法是abstract的,因此接口中的方法又不可以修改变量值,虽然可以直接修改静态成员变量,但所有实现类对应的值都被修改了,此做法等同于抽象类,故需要fina

java接口(interface)与现实(implements)

package com.sadhu; import java.util.*; /** 接口 接口中不能有字段 所有的方法都是公共的 可以定义常量 接口是多继承的,一个类可以继承多个接口. 接口中不能有实现的方法.可以认为是纯的抽象类. 接口不能被实例化,但是可以声明一个接口类型的变量 */ public class Sample {     public static void main(String[] args)throws Exception     {         Student[]

接口——定义,实现接口的条件,类型与接口的关系,类型断言

1.定义 Go 语言的接口设计是非侵入式的,接口编写者无须知道接口被哪些类型实现.而接口实现者只需知道实现的是什么样子的接口,但无须指明实现哪一个接口.编译器知道最终编译时使用哪个类型实现哪个接口,或者接口应该由谁来实现. 每个接口类型由数个方法组成.接口的形式代码如下: type 接口类型名 interface{ 方法名1( 参数列表1 ) 返回值列表1 方法名2( 参数列表2 ) 返回值列表2 …} 说明: 接口类型名:使用 type 将接口定义为自定义的类型名.Go语言的接口在命名时,一般

abstract class 和 interface 有什么区别?(抽象类和接口的区别)

抽象类: 含有abstract修饰符的class即为抽象类, abstract 类不能创建的实例对象.含有abstract方法的类必须定义为abstract class, abstract class类中的方法不必是抽象的. abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法. 如果的子类没有实现抽象父类中的所有抽象方法,那么子类也须定义为abstract类型. 接口:接口(interface)可以说成是抽象类的一种特例,

接口、接口优点、接口的属性和方法特性、接口与继承的区别、接口与抽象类的区别、匿名实现类、JDK1.8新特性、打印类名称

接口里的属性,必须是公共的/默认的&静态的&Final&初始化后的属性: 接口里所有方法都是抽象的. 接口和继承---先天有的用继承,后天学习的用接口: 接口特性-------- 1.接口不可以被实例化: 2.实现类必须实现接口中所有方法,否则实现类必须是抽象类 3.实现类可以实现多个接口,来弥补Java不能多继承: 4.接口中的变量都是静态常量:(静态的-可以通过类的名字点-直接调用:) ----------------------------------------------

深入delphi编程理解之接口(一)接口与类的异同及接口的声明和实现

一.抽象类与接口的异同 接口简单的理解可认为是一个抽象类,我们先定义一个抽象类和接口来对比之间的异同,代码如下: type IFormattedNumber = interface //定义接口 function FormattedString: string; end; TFormattedNumber = class //定义抽象类 public function FormattedString: string; virtual; abstract; end; 上面定义了一个接口IForma

SpringAOP&&定时任务简单实现接口访问入表和定时任务接口重试

# SpringAOP&&定时任务简单实现接口访问入表和定时任务接口重试 # Spring aop Spring 定时任务 代理模式深化 1.表设计 2.Aop主要代码 @Aspect @Component public class AopUtils implements Ordered { //当前 private static final Logger logger = LoggerFactory.getLogger(AopUtils.class); public static Str

Java中接口是否可以继承多个接口?

可以. 接口是常量值和方法定义的集合.接口是一种特殊的抽象类. java类是单继承的.classB Extends classA java接口可以多继承.Interface3 Extends Interface0, Interface1, interface…… 不允许类多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承那一个呢? 但接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口. 注意: 1)一个类如果实现了一个接口,则要实