全面理解Java接口(java接口总结)

createh52个月前 (02-01)技术教程14


接口


  • 接口概念

接口(Interface),在JAVA编程语言中是一个抽象类型,是一系列方法的声明,是一些方法特征的集合。 一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。

  • 接口定义


  • 接口的特点

1.接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字。

2.接口中每一个方法也是隐式抽象的,接口中的方法会被隐式地指定为 public abstract(只能是 public abstract,其他修饰符都会报错)。声明时同样不需要abstract关键字。

3.接口中可以含有变量,但是接口中的变量会被隐式地指定为 public static final 变量(并且只能是 public,用 private 修饰会报编译错误)。

4.接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法。

  • 抽象类和接口的区别

1.抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。

2.抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。

3.接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。

4.一个类只能继承一个抽象类,而一个类却可以实现多个接口。

  • 应用实例

//A simple interface

interface in1 {

//public,static and final

final int a = 10;

//public and abstract void display(); //在接口中的所有方法都必须只声明方法标识,而不要去声明具体的方法体。

}

为了实现这个接口,我们使用implements关键词去实现接口:

  • 接口实现

class testClass implements in1 {

//Implementing the capabilities of interface.

public void display(){

System.out.printIn("Geek");

}

其中testClass类实现了我们上面刚才定义的 in1 这个接口,既然你要实现接口,也就是实现接口代表的一种能力,那么你就必须去实现接口给你规定的方法, 只有把接口给你规定的抽象方法都给实现了,才承认你这个类实现了这个接口,实现了这个接口代表的某种功能。上图实现了接口中规定的display()方法。

//Driver Code

public static void main (String[] args) {

testClass t = new testClass();

t.display();

System.out.printIn(a);

}

写一个测试类,用来测试一下我们刚才实现的这个接口,因为testclass类的对象t实现了接口规定的display方法,那么自然而然就可以调用display()方法咯。

相关文章

Java接口讲解!什么是Java接口?Java接口的特点是什么?

#懂编程就意味着很牛吗?#这篇文章好程序员来讲讲Java接口先关内容!一、 什么是接口?接口是用关键词interface来声明的,我们知道类的声明是用class。Java接口是一系列方法的声明,是一些...

说完 Java 的 Abstract 后再来说说接口 (interface )

如你对 Abstract 修饰的抽象类不是非常了解的话,请自行先考古下。这篇文章需要对 Java 定义过的抽象类有一些基本的了解才可以。抽象类和抽象方法用 Abstract 修饰的类,叫做抽象类,那么...

Java的类与接口(java 接口和类)

Java是一门面向对象的编程语言,主要核心点就是类,Java类具有封装,继承,多态的特性;在Java中,类里面包含了某类事物的基本属性,将这些属性封装起来,只对外部公开别人可以访问的信息,不想让别人访...

今天就来随便讲讲:Java 接口和抽象类的区别吧。(详解)

在面向对象编程中,抽象类和接口是两个经常被用到的语法概念,是面向对象四大特性,以及很多设计模式、设计思想、设计原则编程实现的基础。下面就来讲讲二者的区别。什么是抽象类和接口? 区别在哪里?不同的编程语...

Java基础-抽象类、接口详解(java实验五抽象类和接口)

1、抽象类1.1 什么是抽象类Java中抽象类是指被abstract修饰的类,何为抽象,抽象指的是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程,所以抽象类主要用来定义类的一些共...