【Android应用编程基础第16篇】Java语言中的接口.pdf

【Android应用编程基础第16篇】Java语言中的接口.pdf

ID:51496593

大小:101.66 KB

页数:2页

时间:2020-03-25

【Android应用编程基础第16篇】Java语言中的接口.pdf_第1页
【Android应用编程基础第16篇】Java语言中的接口.pdf_第2页
资源描述:

《【Android应用编程基础第16篇】Java语言中的接口.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、【Android编程基础第16篇】Java语言中的接口微价值网星河前面提到,Java语言可以实现类的继承(对应关键字extends),但只能实现单继承,也即不能同时继承多个类;如果我们刚好有这样的需求怎么办?这时候需要用到另外一个技术特性了,接口(interface)。接口的结构和抽象类非常相似,也具有数据成员与抽象方法,但与抽象类又有以下两点不同:1、接口里的数据成员必须初始化,且数据成员需要初始化为常量。2、接口里的方法必须全部声明为abstract,也即接口中,不能有普通方法,而必须全部是“抽象方法”。因为没有普通方法,具体在声明时,

2、abstract关键字可以省略。接口的抽象方法,需要由具体的类去实现,换种说法,每一个由接口实现的类,必须在类内部复写(override)接口中的抽象方法,且可自由地使用接口中的常量。由于接口里面有抽象方法,和抽象类一样的是,它不能实例化,也即不能直接创建对象。接口和抽象类的主要区别:接口是java实现多继承的一种机制,如果需要一个类去继承(extends)多个抽象方法的话,在Java语言中无法实现,所以就出现了接口的概念。一个类只可以继承一个父类(超类),但却可以实现(implement)多个接口。例如,我们定义了一个Person接口,包

3、括name、age、occupation共3个数据成员,加上talk抽象方法,现在需要定义Engineer类来实现这个接口,并继承其中的talk方法。UML模型如图所示,其中Person接口只显示了抽象方法。Engineer<>-namePerson-age+talk()-occupation+talk()图1Person接口及其实现类Engineer的UML模型图具体程序如下:interfacePerson{Stringname="风一";//初始化数据成员intage=26;Stringoccupation="工程

4、师";声明抽象方法talk()publicabstractStringtalk();}//Engineer类继承自Person类classEngineerimplementsPerson{//复写talk()方法publicStringtalk(){return"姓名:"+this.name+",年龄:"+this.age+",职业:"+this.occupation;}}执行下面的两行代码,可以考虑下,输出结果是什么。EngineerengerFengyi=newEngineer();System.out.println(engerFen

5、gyi.talk());补充说明,接口之间也可以派生,继承抽象方法,不过与类的单继承不同的是,一个接口可以同时继承多个接口,也就是同时继承了多个接口的抽象方法与常量,一般情况下,用得较多的还是通过具体的类来实现某些接口,例如一些UI组件的点击、触摸事件监听、数据处理完成之后的回调操作。微价值网(公号vjiazhi),专注移动互联网、App推广、盈利以及Android/iOS等技术基础培训。我们的微价值,就是你的大价值!欢迎投稿Android/iOS技术类文章,可以发到谋哥邮箱1351231599@qq.com,谢谢。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。