Java_面向对象的封椎陌_继承_多态.doc

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java_面向对象的封椎陌_继承_多态

封装,接口,继承,覆盖,构造过程,多态,static、this、super、final用法 一、封装 (encapsulation) 定义:封装就是将客户端不应看到的信息包裹起来。使内部执行对外部来看不一种不透明的、是一个黑箱,客户端不需要内部资源就能达到他的目的。 1.事物的内部实现细节隐藏起来 2.对外提供一致的公共的接口――间接访问隐藏数据 3.可维护性? 二、 继承 (inherit) JAVA继承特点 ?继承:父类的成员能否继承到子类??? 对类成员访问的限制及子类继承情况: (从严 到宽 ) private 私有,本类内部? 不能继承 (default) 本类+同包? 同包子类可继承 protected 本类+同包+子类 可以继承 public 公开?? 任何地方都可以访问 能继承到子类? 覆盖 ? 1、定义: 覆盖了一个方法并且对其重写,以求达到不同的作用。 2、用法: a、最熟悉的覆盖就是对接口方法的实现 b、在继承中也可能会在子类覆盖父类中的方法 3、产生 “覆盖”的条件: 1、方法名:相同 2、参数表:相同(个数,类型) 3、访问限制符:相同或者更宽 4、返回值类型:相同 或者 子类返回的类型是父类返回的类型的子类 5、不能抛出比subclass(父类)更多的异常 注意:当我们在子类中创建的静态方法,它并不会覆盖父类中相同名字的静态方法。 class Parent { ? public void nonStaticMethod() ? { ??? System.out.println("Parent's Non-Static Method is Called"); ? }? ? public static void staticMethod() ? { ??? System.out.println("parent's static method is called"); ? } } class Child extends Parent { ? public void nonStaticMethod() ? { ?? System.out.println("child's non-static method is called"); ? } ? public static void staticMethod() ? { ??? System.out.println("child's static method is called"); ? }? } public class Test { ???????? public static void main(String args[]) ???????? { ????????? Parent p1 = new Parent(); ????????? Parent p2 = new Child(); ????????? Child c = new Child(); ????????? System.out.print("Parent.static: "); Parent.staticMethod(); ????????? System.out.print("p1.static: "); p1.staticMethod(); ????????? System.out.print("p2.static: "); p2.staticMethod(); ????????? System.out.print("p1.nonStatic: "); p1.nonStaticMethod(); ????????? System.out.print("p2.nonStatic: "); p2.nonStaticMethod(); ????????? System.out.print("Child.static: "); Child.staticMethod(); ????????? System.out.print("c.static: "); c.staticMethod(); ????????? System.out.print("c.nonStatic: "); c.nonStaticMethod(); ???????? } } 程序的运行结果为: Parent.static: parent's static method is called p1.static: parent's static method is called p2.static: parent's static method is called p1.nonStatic: Parent's Non-Static Method is Called p2

文档评论(0)

ayangjiayu5 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档