欢迎来到天天文库
浏览记录
ID:36209522
大小:862.50 KB
页数:36页
时间:2019-05-07
《java程序设计ch06.面向对象编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章面向对象编程︳Java程序设计luqiang@hfut.edu.cnhttp://cadcg.hfut.edu.cn路强2021/7/14本章学习提示本章学习Java语言中面向对象编程的具体实施过程。封装与继承覆盖与重载多态类的强制转换Chapter6面向对象编程目录封装与继承1多态机制32覆盖与重载类的转换4Chapter6面向对象编程封装面向对象的程序设计以类作为基本处理单元,对象是类的实例。面向对象程序设计的重要特征是具有封装性、多态性和继承性。所谓封装表现在以下几个方面在类的定义中设置对对象中的成员变量和方法进行访问的权限。提供一个
2、统一供其它类引用的方法。其它对象不能直接修改本对象所拥有的属性和方法。对象变量的四种访问权限publicprotectedprivatefriendlyChapter6面向对象编程Code-封装//引用私有方法和修改私有成员变量classdef06_01{privateintx,y,z=0;privatevoidmethod1(){intx=3,y=4,z;z=x*y;System.out.println("z="+z);}publicvoidshow(){System.out.println("z="+z);}}classch06_01{publ
3、icstaticvoidmain(Stringargs[]){def06_01ss=newdef06_01();ss.method1();//调用私有方法出错ss.z=12;//修改私有变量出错ss.show();}}//引用公共方法和修改私有成员变量classdef06_01b{privateintx,y,z=0;publicvoidmethod1(){intx=3,y=4,z;z=x*y;System.out.println("z="+z);}publicvoidshow(){System.out.println("z="+z);}}class
4、ch06_01b{publicstaticvoidmain(Stringargs[]){def06_01bss=newdef06_01b();ss.method1();ss.z=12;ss.show();}}Chapter6面向对象编程Code-private(私有)方法//创建私有方法,在构造方法中引用方法,私有变量的引用权限classScope06_02{privateintx=10;Scope06_02(){intx=1000;}privatevoida(){intx=200;x*=4;System.out.println("Aofameth
5、odis"+x);}privatevoidb(){x*=2;System.out.println("Bofamethodis"+x);}}publicclassch06_02{publicstaticvoidmain(Stringargs[]){intx=100;System.out.println("xofmainmethodis"+x);Scope06_02b1=newScope06_02();b1.a();//调用私有方法出错b1.b();//调用私有方法出错System.out.println("xofmainmethodis"+x);}}
6、不想让其它类访问就设置为私有权限Chapter6面向对象编程Code-protected方法//定义类的protected方法,通过创建对象来引用此方法classMax06_03{privateintx,y;protectedintplay(ints,intt){intm;x=s;y=t;m=(x>y)?x/y:y/x;returnm;}}publicclassch06_03{publicstaticvoidmain(Stringargs[]){intresult;Max06_03ss=newMax06_03();result=ss.play(5,
7、45);System.out.println("result="+result);}}使用protected定义的成员变量或方法具有二重性,类本身、子类或包中的方法可以访问它们,而其它类没有访问权限Chapter6面向对象编程包未设定public或private访问权限的均为friendly,包内的所有类可以访问它们,包外的不行一个JAVA程序文件只能定义一个public类,而且程序文件必须与它同名。为其它程序共享的类须经过编译进行打包,形成一个包文件,然后用import语句加以引用打包打包是在java程序编译时进行的,注意参数-d被编译程序所在
8、路径javac–d被编译程序所在路径被编译程序名.java被编译程序的第一行用package包名;给出它被打入的包,该包与
此文档下载收益归作者所有