欢迎来到天天文库
浏览记录
ID:51963897
大小:232.50 KB
页数:46页
时间:2020-03-26
《java程序设计课件2012版JAVA_chap6.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章类的扩展精读本章引言!6.1扩展类之例研究Attr和ColorAttr这两个类的代码。6.2扩展类中的构造器精读本节正文和代码!以下代码说明P108第一行文字含义。classMyExceptionextendsException{}classX{intx;X()throwsMyException{thrownewMyException();}X(inty){try{this();}catch(MyExceptione){System.out.println(e.toString());}x=y;}}Try是第一个语句以下代码说明利用可能引发异常的构造
2、器创建对象。classMyExceptionextendsException{}classX{intx;X(inty){x=y;}X()throwsMyException{thrownewMyException();}}classY{publicstaticvoidmain(String[]args){Xr=newX(1);try{r=newX();}catch(MyExceptione){System.out.println("error");}System.out.println(r.x);}}不会得到新对象6.3方法的改写和域的隐藏精读本节正文和代码
3、!本节补充代码如下。补充代码1:子类继承下来的方法操作继承下来的域classSuperClass{intx;voidmethod(){x=1;}}classSubClassextendsSuperClass{intx;staticvoidmain(String[]args){SubClassrSub=newSubClass();SuperClassrSuper=rSub;rSub.method();//rSuper.method();System.out.println(rSuper.x+","+rSub.x);}}补充代码2:子类继承下来的方法使用改写后
4、的方法classSuperClass{intx;voidmethod0(){method1();}voidmethod1(){x=11;}}classSubClassextendsSuperClass{intx;voidmethod1(){x=2;}publicstaticvoidmain(String[]args){SubClassrSub=newSubClass();SuperClassrSuper=rSub;rSub.method0();System.out.println(rSuper.x+","+rSub.x);}}问题:如果用private修饰
5、method1(),情况如何?6.4类型兼容与类型转换精读本节正文和代码!6.5protected的真正含义protected成员在包外可以在扩展类中通过对象引用的方式被访问,但该引用应该与该扩展类具有同样的类型或其子类型,书上例一个综合例文件一:.package1Point.javapackagepackage1;publicclassPoint{publicdoublex=1;protectedintc=4;}文件二:.Demo.javaimportpackage1.*;classDemo1extendsPoint{inty=2;voidmeth
6、od1(){System.out.println("method1:"+this.c);Pointo=newPoint();//System.out.println("method1:"+o.c);}}classDemo2extendsPoint{intz=3;voidmethod2(){System.out.println("method2:"+c);}voidmethod3(){Demo1o=newDemo1();o.method1();//System.out.println(o.c+1);Demo3o1=newDemo3();System.out.
7、println(o1.c+1);}}classDemo3extendsDemo2{voidmethod4(){System.out.println(c+2);Demo2o2=newDemo2();//System.out.println(o2.c+3);}}classDemo{staticvoidmain(String[]args){Demo2w=newDemo2();Demo3w1=newDemo3();w.method2();w.method3();w1.method4();Demo1p=newDemo1();//System.out.println(
8、p.c);}}protected静态成员可被任何扩展类访问一个综合
此文档下载收益归作者所有