Java技术及其应用:第2章 面向对象结构.ppt

Java技术及其应用:第2章 面向对象结构.ppt

  1. 1、本文档共106页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* //-----Example6_2.java------------- interface ShowMessage { void 显示商标(String s); } //-------------实现接口的类---------------- class TV implements ShowMessage { public void 显示商标(String s) { System.out.println(s); } } //---------实现接口的类--------------- class PC implements ShowMessage { public void 显示商标(String s) { System.out.println(s); } } //-----Example6_2.java--------------------- public class Example6_2 { public static void main(String args[]) { ShowMessage sm; //声明接口变量 sm=new TV();     //接口变量中存放TV对象的引用 sm.显示商标(长城牌电视机);       //接口回调。 sm=new PC();     //接口变量中存放PC对象的引用 sm.显示商标(联想奔月5008PC机);     //接口回调 } } 接口与多态 * 接口和abstract类的比较如下: 1.abstract类和接口都可以有abstract方法。 2.接口中只可以有常量,不能有变量;而abstract 类中即可以有常量也可以有变量。 3.abstract类中也可以有非abstract方法,接口不可以。 abstract类与接口的比较 虽然接口解决了多继承方面的问题,但接口本身并没有多继承性,可以从以下几点看出: (1) 不能继承接口的变量。 (2) 不能继承接口的方法实现。 (3) 接口层次独立于类的层次,实现相同接口的类并不一定有同样的类层次关系。 * 声明一个接口与声明一个类相似,都是定义了一个新的引用数据类型。可以把接口名用于任何可以使用基本数据类型名和其他引用数据类型名的地方,例如有个接口如下: interface Myable { void draw(); } 下面的类就把Myable用于声明成员变量和方法的参数中: class Myclass { private Myable[] op1; void Mymethod(Myable a,int b); ... } * 引入泛型(generics)是Java SE5的重要改进,如果代码可以与某种未指定的类型一起工作,就可以写出更通用的代码。 如果一个类里只接受整数类型,那么就无法加入浮点类型。如果用通用的Object类对象取代整数类型,那么编译器要经常判断当前对象实际是哪一种类型,这会很消耗时间。 用某个未指定的类型T取代整数类型,实际使用时再代入具体类型,那么就可以处理多种类型的对象。 * 例如: public class Store T { //加入了一个参数化类型T,意味着成员变量t的类型未定 private T t; public void put(T t) { this.t = t; } public T get() { return t; } } * 在Store类中,加入了一个参数化类型T,意味着成员变量t的类型未定,因此该程序通用性好。 使用这个类时,用具体的类型取代T就行了,可以用类类型、接口类型和其他引用类型取代T,但不能用基本类型取代。 比如StoreCar,意味着t的类型现在是Car,实例化Store类的语法是: StoreCar c1 = new StoreCar(); * * public class TestStore { public static void main(String args[]) { StoreInteger i1=new StoreInteger(); i1.put(new Integer(3));

您可能关注的文档

文档评论(0)

学习让人进步 + 关注
实名认证
内容提供者

活到老,学到老!知识无价!

1亿VIP精品文档

相关文档