java程序设计实训报考

java程序设计实训报考

ID:8970129

大小:40.00 KB

页数:10页

时间:2018-04-13

java程序设计实训报考_第1页
java程序设计实训报考_第2页
java程序设计实训报考_第3页
java程序设计实训报考_第4页
java程序设计实训报考_第5页
资源描述:

《java程序设计实训报考》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验六(一)实验题目:类的封装与继承(二)实验目的:1、理解物理世界和面向对象编程中的封装和继承思想。2、掌握封装和继承在Java中的语法规则和结论,并灵活运用进行编程。(三)实训案例:1、private修饰的成员只能在同类的内部被访问;private成员不能被继承。2、默认访问修饰符的成员只能被同包下的类访问。3、protected只能修饰成员属性或方法,不能修饰类;protected成员可以被同包下其他类访问,也可以被不同包下的子类访问。4、类的继承只允许单继承。5、构造方法不允许被继承。(四)代码实现:1、private成员只能在同类的内部被访问:packagep

2、gfive;classPrivateTest{privateStrings="abc";privatevoidaccess(){System.out.println(s);//从内部访问,合法}publicvoidf1(){System.out.println(s);access();}publicvoidf2(PrivateTestt){Stringss=t.s;//从内部可以直接访问:t.sSystem.out.println(ss);}publicvoidsetS(Stringps){s=ps;}}classT{publicstaticvoidmain(Strin

3、g[]args){PrivateTestt=newPrivateTest();t.f1();t.s;//从外部访问,非法t.setS("def");newPrivateTest().f2(t);}}2、private成员不能被继承:classA{privateStrings="abc";privatevoidfunc(){System.out.println("Thisisaprivatemethod.");}}classBextendsA{publicvoidfB(){System.out.println(s);func();}publicstaticvoidmain

4、(String[]args){newB().fB();}}3、编译出错:PrivateInherit.java:10:s可以在A中访问privateSystem.out.println(s);^PrivateInherit.java:11:找不到符号符号:方法func()位置:类Bfunc();^2错误从上面的编译错误信息第一行可以推知:A、B类源代码是放在了一个文件PrivateInherit.java中的。(五)实验心得:通过实验了解到,验证一条结论,有些需要从正反两面来验证。先从同包下的类的来访问,这是允许的,在从异包下的类来访问,这是不允许的。实验七(一)实验题

5、目:类的多态(二)实验目的:1、理解物理世界和面向对象编程中的多态思想。2、掌握多态在Java中的语法规则和结论,并灵活运用进行编程。(三)实训案例:1、重载方法对修饰符列表、返回类型是否相同不作要求,区别仅仅在于参数列表。2、在一个重载方法内可以直接调用另外一个重载方法,但重载的构造方法则不能直接调用,必须使用this。3、被覆盖的方法名、返回类型、参数列表必须相同。4、对覆盖而言,子类方法的访问修饰符>=父类方法的访问修饰符。5、父类中的覆盖方法的修饰符不能是final、static。(四)结论验证:1、结论验证1publicclassclassA{publicvo

6、idfunc(inta){}//原方法/*下面都是不正确的重载*/publicStringfunc(inta)(//返回类型不同returnnull;)protectedvoidfunc(inta)//访问修饰符号不同intfunc(intb){//行参不同,返回类型不同return0;}/*下面是正确的重载*/voidfunc(longa){}privateintfunc(Strings){return0;}}编译出错:OverloadModify.java:6:已在A中定义func(int)publicStringfunc(inta){//返回类型不同^Overlo

7、adModify.java:9:已在A中定义func(int)protectedvoidfunc(inta){}//访问修饰符号不同^OverloadModify.java:11:已在A中定义func(int)intfunc(intb){//行参不同,返回类型不同^3错误2、结论验证2classA{voidfunc(){func("abc");}voidfunc(Strings){System.out.println(s);}A(){A("sss");//把该方法当作非构造方法,即一般的功能方法来调用//修改方式有两种:定义有关功能方法v

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。