5 深入理解JAVA语言.ppt

5 深入理解JAVA语言.ppt

ID:49205300

大小:194.50 KB

页数:47页

时间:2020-02-01

5 深入理解JAVA语言.ppt_第1页
5 深入理解JAVA语言.ppt_第2页
5 深入理解JAVA语言.ppt_第3页
5 深入理解JAVA语言.ppt_第4页
5 深入理解JAVA语言.ppt_第5页
资源描述:

《5 深入理解JAVA语言.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、JAVA程序设计第5章深入理解JAVA语言5.1变量及其传递5.1.1基本类型变量与引用型变量基本类型:其值直接存于变量中。引用型的变量除占据一定的内存空间外,它所引用的对象实体(由new创建)也要占据一定空间。引用型变量保存的实际上是对象在内存的地址,也称为对象的句柄。MyDate.class引用型变量与对象实体的关系daymonthyearmnMyDatem,n;n=newMyDate();n=m;n.addYear();5.1.2域变量与局部变量从语法角度看域变量属于类或接口;public,private,static,f

2、inal修饰。而局部变量是在方法中定义的变量或方法的参变量。都可用Final修饰,而局部变量则不能够被访问控制符及static修饰。从存储角度看从变量在内存中的存储方式来看,域变量是对象的一部分,而对象是存在于堆中的,局部变量是存在于栈中。域变量的生命周期与局部变量的生命周期比较。另外,域变量可以自动赋初值,局部变量则须显式赋值。局部变量必须显示赋值后才能够使用。classTest(){inta;voidm(){intb;System.out.println(b);//编译不能通过需要//初始化。}}5.1.3变量的传递调用对象

3、方法时,要传递参数。在传递参数时,Java是值传递,即,在调用一个方法时,是将表达式的值复制给形式参数。对于引用型变量,传递的值是引用值(可以理解为内存地址)。TransByValue.javaJava中的参数都是按值传递的,但对于引用型变量,传递的值是引用值,所以方法中对数据的操作可以改变对象的属性。publicclassTransByValue{privatestaticinta;publicstaticvoidmain(String[]args){inta=0;modify(a);System.out.println(a)

4、;int[]b=newint[1];modify(b);System.out.println(b[0]);//1or5}publicstaticvoidmodify(inta){a++;}publicstaticvoidmodify(int[]b){b[0]++;b=newint[5];}}///:~5.1.4变量的返回方法的返回:返回基本类型。返回引用类型。它就可以存取对象实体。ObjectgetNewObject(){Objectobj=newObject();returnobj;}调用时:Objectp=GetNewObj

5、ect();5.2多态和虚方法调用多态(Polymorphism)是指一个程序中相同的名字表示不同的含义的情况。覆盖(override)(子类对父类方法)重载(overload)(同一个类中定义多个同名的不同方法)。动态绑定(dynamicbinding)----虚方法调用(virtualmethodinvoking)。它能够使对象所编写的程序,不用做修改就可以适应于其所有的子类,如在调用方法时,程序会正确地调用子对象的方法。多态的特点大大提高了程序的抽象程度和简洁性,更重要的是,它最大限度地降低了类和程序模块之间的耦合性,提高

6、了类模块的封闭性,使得它们不需了解对方的具体细节,就可以很好地共同工作。这个优点对于程序的设计、开发和维护都有很大的好处。5.2.1上溯造型就是把派生类型当作基本类型处理的过程。doStuff(Shapes){s.erase();//…s.draw();}Circlec=newCircle;Trianglet=newTriangle();Linel=newLine();doStuff(c);doStuff(t);doStuff(l);5.2.2虚方法调用所有的非final方法都会自动地进行绑定!TestVirtualInvoke

7、.java用虚方法调用,可以实现运行时的多态!在使用上溯造型的情况下,子类对象可以当做父类对象,对于重载或继承的方法,Java运行时系统根据调用该方法的实例的类型来决定选择哪个方法调用。虚方法调用子类重载了父类方法时,运行时,系统调用子类的方法。继承时,则调用父类的方法。运行时,根据实际的类型调用正确的方法,对面向对象的程序设计来说,就叫“多态型性”。用虚方法调用,可以实现运行时的多态,它体现了面向对象程序设计中的代码复用性。已经编译好的类库可以调用新定义的子类的方法而不必重新编译,而且如果增加几个子类的定义,只需分别用new生

8、成不同子类的实例,会自动调用不同子类的相应方法。static,private,和final不存在虚方法的调用问题。Circlec=newCircle();Trianglet=Triangle();Linel=newLine();doStiff(c);doStif

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

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

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