欢迎来到天天文库
浏览记录
ID:36283371
大小:41.23 KB
页数:54页
时间:2019-05-08
《1_09 java 面向对象的封装 继承 多态(2)new》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、封装,接口,继承,覆盖,构造过程,多态,static、this、super、final用法一、封装(encapsulation)定义:封装就是将客户端不应看到的信息包裹起来。使内部执行对外部来看不一种不透明的、是一个黑箱,客户端不需要内部资源就能达到他的目的。1.事物的内部实现细节隐藏起来2.对外提供一致的公共的接口――间接访问隐藏数据3.可维护性 --------------------------------------------------------------------------------二、继承(inherit)JAVA继承特点 继承:父类的成员能否继
2、承到子类? 对类成员访问的限制及子类继承情况:(从严到宽)private私有,本类内部 不能继承(default)本类+同包 同包子类可继承protected本类+同包+子类可以继承public公开 任何地方都可以访问能继承到子类 --------------------------------------------------------------------------------覆盖 1、定义:覆盖了一个方法并且对其重写,以求达到不同的作用。2、用法:a、最熟悉的覆盖就是对接口方法的实现b、在继承中也可能会在子类覆盖父类中的方法3、产生“覆盖”的条件:1、方
3、法名:相同2、参数表:相同(个数,类型)3、访问限制符:相同或者更宽4、返回值类型:相同或者子类返回的类型是父类返回的类型的子类5、不能抛出比subclass(父类)更多的异常注意:当我们在子类中创建的静态方法,它并不会覆盖父类中相同名字的静态方法。classParent{ publicvoidnonStaticMethod() { System.out.println("Parent'sNon-StaticMethodisCalled"); } publicstaticvoidstaticMethod() { System.out.println("paren
4、t'sstaticmethodiscalled"); }}classChildextendsParent{ publicvoidnonStaticMethod() { System.out.println("child'snon-staticmethodiscalled"); } publicstaticvoidstaticMethod() { System.out.println("child'sstaticmethodiscalled"); } }publicclassTest{ publicstaticvoidmain(Stringargs[])
5、 { Parentp1=newParent(); Parentp2=newChild(); Childc=newChild(); System.out.print("Parent.static:");Parent.staticMethod(); System.out.print("p1.static:");p1.staticMethod(); System.out.print("p2.static:");p2.staticMethod(); Sys
6、tem.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.nonStatic
7、Method(); }}程序的运行结果为:Parent.static:parent'sstaticmethodiscalledp1.static:parent'sstaticmethodiscalledp2.static:parent'sstaticmethodiscalledp1.nonStatic:Parent'sNon-StaticMethodisCalledp2.nonStatic:child'snon-staticmethodiscalledChild.static:child'sstaticmetho
此文档下载收益归作者所有