Java中的接口

175 阅读3分钟

接口是Java的一个非常重要的功能,其定义以关键字interface开始**。**它很像一个类,但有一些区别。基本上通过interface关键字,你可以在Java中声明和定义一个接口。

接口Interface_name

{

………………………………….

}

一个接口 基本上指定了方法声明并包含字段或变量。

接口Interface_name

{

int a=5。

void method1();

}

注:任何接口的方法都是隐含 的。 公共 抽象的 而变量是 公共静态和最终.

如何实现一个接口?

接口Ione

{

int a=5。

void method1();

}

A类实现了Ione{

public void method1(){

System.out.println(a)。

}

}

java中的类基本上是通过关键字implements来实现接口的。

现在看一个例子。

接口A {

_void_print()。

}

B类实现了A

{

public_void_print()

{

System.out.println("它是热的")。

}

}

public class Main {

public static_void_main(String[]args) {

A a;//接口引用

a=new B();//由接口引用a引用的B类实例

a.print()。

}

}

你可以看到在上面的程序中,接口A包含一个方法print(),这个方法是由实现接口A的类B定义和实现的,因为接口 的方法在该接口中没有任何实现,它们由实现该接口的类实现。

现在仔细看一下主类。一个接口创建了一个引用,但这个引用指的是实现该接口的B类实例。基本上,事情是这样的,一个接口不能被实例化。它创建了引用,而这个引用指的是任何实现了该接口的类的实例。

请看另一个例子。

公共接口 myInterface {

_int_a = 10; // public, static and final

_void_display(); // 公共和抽象的。

}

类myClass实现了myInterface {

public_void_display() // 实现抽象的方法

{

System.out.println("Fine!")。

}

public static_void_main (String[]args) {

myClass m = new myClass ();

m.display()。

System.out.println("myInterface的最终值a "+a)。

}

}

需要记住的要点。

1.一个接口不能被实例化。

2.接口没有构造函数。

一个接口可以扩展另一个接口。

接口I1 {

_double_x = 4.444;

_void_methodI1();

}

接口I2扩展了I1 {

_double_y = 5.555;

_void_methodI2(); //默认为公共静态的

}

A1类实现了I2 {

public_void_methodI1(){

System.out.println("从I1:"+(x+y))。

}

public_void_methodI2(){

System.out.println("From I2: "+(x+y))。

}

}

public class myClass{

public static_void_main(String[]args) {

A1 a = new A1();

a.methodI1();

a.methodI2();

}

}

这里I2接口扩展了I1接口并继承了它的属性。因此,当类A实现I2时,它也可以使用I1的属性。

接口的多重扩展。

包博客。

公共接口IOne {

_void_print1();

}

公共接口ITwo {

_void_print2();

}

公共接口IThree扩展了IOne,ITwo{

_void_print3();

}

博客包。

公共类Main实现了IThree{

public_void_print1(){

System.out.println("IOne的方法")。

}

public_void_print2(){

System.out.println("Method of ITwo")。

}

public_void_print3(){

System.out.println("IThree的方法")。

}

public static_void_main(String[]args) {

Main m1=new Main()。

m1.print1();

m1.print2();

m1.print3();

}

}

嵌套接口。

一个接口可以被声明为一个类或另一个接口的成员。这样的接口被称为嵌套接口。一个嵌套的接口可以被声明为public, 私有保护

包nestedinterface。

公有类A {

公共接口Nestin

{

boolean_nonNegative(int_ x);

}

}

B类实现了A_._Nestin

{

public_boolean_nonNegative_(int_ x)

{

return_x_<0 ? false:true;

}

}

包nestedinterface。

public class Main {

public static_void_main(String[]args) {

A.Nestin i1=new B();

System.out.println(i1.nonNegative(-1))。

System.out.println(i1.nonNegative(5))。

}

}

相关话题。

为什么java不支持多重继承?

Java中的继承


Java中的接口》最初发表于Medium上的《Javarevisited》,人们在这里通过强调和回应这个故事来继续对话。