
接口是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中的接口》最初发表于Medium上的《Javarevisited》,人们在这里通过强调和回应这个故事来继续对话。