Java简明教程 作者 978-7-302-31477-6 第6章-继承、多态与接口.pptVIP

Java简明教程 作者 978-7-302-31477-6 第6章-继承、多态与接口.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【例】接口的实现:在类FIFOQueue中实现上面所定义的接口collection。   class FIFOQueue implements collection{    void add (Object obj ){      ...    }    void delete( Object obj ){      ...    }    Object find( Object obj ){      ...    }    int currentCount {      ...    }   } 注意: 在类中实现接口所定义的方法时,方法的声明必须与接口中所定义的完全一致。 在类中实现接口所定义的方法时,必须显式地使用public修饰符,否则将被系统警告为缩小了接口中定义的方法的访问控制范围。 抽象类可以不实现接口的抽象方法,而非抽象类必须实现接口中的所有方法。 其他 final关键字 final在类之前 表示该类是最终类,不能再被继承。 由于安全性的原因或者是面向对象的设计上的考虑,有时候希望一些类不能被继承,例如,Java中的String类,它对编译器和解释器的正常运行有很重要的作用,不能轻易改变它,因此把它修饰为final类,使它不能被继承,这就保证了String类型的唯一性。 final在方法之前 表示该方法是最终方法,用final修饰的方法不能再被子类重写;该方法不能被任何派生的子类覆盖。 final在变量之前 表示变量的值在初始化之后就不能再改变;相当于定义了一个常量。 实例成员和类成员 Java类包括两种类型的成员:实例成员和类成员。 除非特别指定,定义在类中的成员一般都是实例成员。 【例】实例成员举例 class AnIntergerNamedX{ int x; public int x(){ return x; } public void setX(int newX){ x=newX; } } 声明了实例变量之后,当每次创建类的一个新对象时,系统就会为该对象的所有成员创建实例变量的副本,然后就可以通过对象访问这些实例变量。 实例方法是对当前对象实例变量进行操作的,而且可以访问类变量。 static 在变量或方法之前,表明它们是属于类的,称为类方法(静态方法)或类变量(静态变量)。 类成员用static修饰符声明,格式如下:  static type classVar;  static return Type classMethod([paramlist]){     ……   } 分别声明了类变量和类方法。 类变量 类变量用static修饰符声明。 系统只为每个类分配类变量,而不管类创建的对象有多少。当第一次调用类的时候,系统为该类变量分配内存,所有的对象共享了该类的类变量。因此,可以通过类本身或者某个对象来访问该类变量。 【例】类变量举例 class AnIntergerNamedX{ static int x; public int x(){ return x; } public void setX(int newX){ x=newX; } } 输出的两个变量结果相同,这是因为x是一个类变量,因此,就只有该类变量的唯一副本,它被该类的所有对象所共享,包括myX和anotherX。当在任一对象中调用setX的时候,也就改变了该类所有对象所共享的值。 结果输出为: myX.x=2 anotherX.x=2 类方法 为了指定方法为一个类方法,可以在方法声明的地方使用static关键字。 类方法只能操作类变量而不能直接访问在类中定义的实例变量,除非这些类方法创建了一个新的对象,并通过对象访问它们。 类方法可以在类中被调用,不必通过一个实例来调用一个类方法。 Java程序的入口方法main()就是一个类方法。 【例】不正确的引用 class AnIntergerNamedX{ int x; static public int x(){ return x; } static public void setX(int newX){ x=newX; } } 当编译这个类时,就会出错。原因是类方法不能访问实例变量。 static 解决方法: 1.将变量变成类变量; 2.创建一个类的对象,并且通过该对象来访问变量。 同一个类的实例方法可以访问该类的类变量和类方法; 而类方法只能访问该类的类变量和类方法,不能直接访问实例的变量和方法。 THE END * 抽象类不能用new运算创建对象,必须产生子类,由子类创建对象; 如果某个类是一个抽象类的子类,它必须具体实

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档