- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 calledp1.static: parent's static method is calledp2.static: parent's static method is calledp1.nonStatic: Parent's Non-Static Method is Calledp2
文档评论(0)