资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 编程开发 >
Advertisement
文章正文

第五章 java语言的接口 _编程

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   
  • 集成测试Strtus+Spring+Hibernate  
  • Java中通过代理服务器(proxy)访问网络  
  • 在RIA大潮里湿了一下身--Flex  
  • Mini Java编译器(一)——任务概述  
  • java程序,保存csdn blog的文章  
  • jive Forums 4中使用中文的方法  
  • 如何封锁您的(或打开别人的) Java 代码  
  • 关于webwork验证  
  • JBoss配置mysql数据源  
  • class Prime  
  • 页面导航:

    正文内容:

    第五章 java语言的接口

    引子:在家中你能把电灯的插头拔掉,然后接上你的手提电脑.这是因为电灯和手提电脑都实现这插座的这个接口.

    什么是接口?
     一个java接口(interface)是一些方法特征的集合,这些方法特征当然来自于具体方法,但是他们一般都是来自于一些在系统不断出现的方法,一个接口只有方法的特征.而没有方法的实现,因此这些方法在不同的地方被实现,可以具有完全不同的行为.在java语言中,java接口还可以用来定义public的常量.

    为什么使用接口?
     由于java语言是一个单继承的语言,一个类只能有一个超类.因此,在很多情况下,这个具体类可能已经有了一个超类,这时候要给他加上一个新的超类是不可能的,如果硬要的话,就只好把这个新的超类加到已有的超类上面,形成超超类的情况:如果这个超超类的位置也已经被占用了,就只好继续向上移动.直到移动到类等级结构的顶端.这样一来,对一个具体类的可插入性设计,就变成了对整个等级结构中的所有类的修改.

    接口是对可插入性的保证.

     关联的可插入性
     
     当前对象并不在意所关联的是哪一个具体的类,而仅仅关心这个类是否实现了这个接口.

     调用的可插入性
     
     当需要调用其他类的方法时,这种调用不一定非得是某一个具体类,可以是一个接口.这样任何实现了这个接口的具体类都可以被当前对象调用.*跟关联的可插入性是一致的.

    java接口常见的用法.
     
     单方法接口

     标示接口
     
     如java.io.serializable

     常量接口
     
     用来定义常量,只要实现这个接口就能直接调用常量,而不用这样使用(utils.max)

    第六章 专题:抽象类

    什么是抽象类
     
     抽象类仅提供一个类型的部分实现.抽象类可以有实例变量,以及一个或多个构造子.抽象类可以同时有抽象方法和具体方法.一个抽象类不能实例化,所以抽象类都是用来继承的.

     scott meyers 曾指出  只要有可能,不要从具体类继承.

    代码重构的建议
     
     抽象类应当拥有尽可能多的共同代码.*也就是说:在一个从抽象类到多个具体类的继承关系中,共同的代码应当尽量的移到抽象类里.这对复用是有易的.

     抽象类应当拥有尽可能少的数据*数据的移动方向是从抽象类到具体类.也即从继承的等级结构的高端向等级结构的地段移动.这样能保证节省内存资源.

    针对抽象编程

    什么时候才应当使用继承复用(一般建议使用接口)

     1.子类是超类的一个特殊种类,而不是超类的一个角色,也就是要区分"has-a"与"is-a"两种关系的不同.has-a使用聚合关系,is-a使用继承关系.

     2.永远不会出现需要将子类换成另一个类的子类的情况.
     
     3.子类具有扩展超类的责任,而不是具有置换掉(override)或注销掉超类的责任.

     4.只有在分类角度上有意义时,才可以使用继承,不要从工具类继承.



     

     
    热门推荐笔记本: IBM笔记本
    相关文章:
    webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
    ©2007 popbb.net All Rights Reserved