java程序设计基础——接口

文章目录


前言

接口(interface)是java语法所提供的一种重要功能,它的结构与抽象类相似。但不同的是:

(1)接口的数据成员都是静态的且必须初始化,即数据成员必须是静态称量。

(2)接口中除了声明抽象方法外,还可以定义私有方法、静态方法和默认方法,但不能定义一般方法。


提示:以下是本篇文章正文内容,下面案例可供参考

一、接口的定义

1.接口定义的语法格式:

[public] interface 接口名称[extends父接口名列表] {

[public][static][final] 数据类型常量名=常量; ---------------------定义常量 


[ public][abstract] 返回值的数据类型方法名(参数表);----------------------定义抽象方法

private 返回值的数据类型方法名(参数表){ ------------------------定义私有方法
方法体
}

public static 返回值的数据类型方法名(参数表) { -----------------定义静态方法

方法体

}

public default 返回值的数据类型方法名(参数表) {方法体-----------------定义默认方法
方法体
}
}

注意:其中interfre前的publ修饰符可以省略.若省略,则接口使用缺省访问控制,即接口只能

被与它处在同包中的成员访问。 当修饰符声明为pubiec 时,接口能被任何类的成员访问。

2.使用接口的注意事项

1.对于成员变量,成员变量必须是静态有一定要赋初值,且此值不能再被修改,若省略成员变量的修饰符,系统默认为puble state final;

2.对于抽象方法,若方法名前即使省略修饰符,系统仍然默认为publie abstract;

3.对于其他方法,接口中的静态方法是用public static修饰的,而默认方法是用public default修饰的,私有方法是用private修饰的;

4.若在定义接口时若省略了public 修饰符,则在实现抽象方法时,则不能省略该修饰符。.

5..接口中的常量与静态方法都是静态的.因此可以直接用接口名调用。接口中的私有方法仅可以被同一接口所定义的默认方法或另一私有方法调用;

6.接口中的抽象方法不能有方法的实现,即不能有方法体,而按接口中的私有方法、静态方法和默认方法都必须有方法的实现,即必须要定义方法体。

二、接口的使用

1.接口的实现与回调

1.接口的实现:利用接口创建新类的过程称为按口的实现(impterpentatio),实现接口的类为实现类。

接口实现的语法格式为:

class 类名称 implements 接口名表{

}

 注意:实现类实现多个接口,必须重写完全部接口的全部接口的抽象方法,否则实现类要定义成抽象类。

2.接口的回调:声明接口类型的变量,并用它来访问类所实现该接口的方法.这种访间方式称为接口回调,即把实现接口的类所创建的对象赋值给用该接口声明的接口变量,那么该接口变量就可以调用被类实现的该接口中的方法。

2.接口的继承

1.与类相似,接口也有继承性。定义接口时可通过extends关键字。与类的继承不同的是,一个接口可以有 一个以上的父接口,它们之间用逗号分隔,形成父接口列表。如下:

interfance A extends B,C {

}

2.新接口将继承所有父接口中的常量、抽象方法和默认方法,但不能继承父接口中的静态方法,也不能被实现类所继承。如果类实现的接口继承自另外一个接口,那么该类必须实现在接口继承链中定义的所有方法。

3.利用接口实现类的多重继承

虽然一个类只能有一个直接父类,但是它可以同时实现若干个接口。一个类实现多个接口时,在implements子句中用逗号分隔各个接口名。这种情况下如果把接口理解成特殊的类,那么这个类利用接口实际上就获得了多个父类,即实现了多重继承。

public class interfance A extends B,C {

}

4.解决接口多重继承中名字冲突问题

1.当多个父接口中存在同名的方法时,必须通过特殊的方式加以解决。
2.要解决方法名冲突问题,可以在接口的实现类中提供同名方法的一个新实现,或者引用其中一个父接口中的默认方法,这种引用方式称为委托某父接口中的默认方法.委托方式为:

接口名. super默认方法名()


总结

以上就是关于接口的主要内容,本文仅仅简单介绍了接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值