002 面向对象编程.ppt_第1页
002 面向对象编程.ppt_第2页
002 面向对象编程.ppt_第3页
002 面向对象编程.ppt_第4页
002 面向对象编程.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、深入JAVA编程,专业教程,理论讲解部分,Ver3.1,概述:,方法重载 对象的生成 对象的使用,重点:,难点:,方法重载,方法重载 生成对象,第002课深入Java编程,3.1 类方法重载的概念 方法重载即指多个方法可以享有相同的名字。但是这些方法的参数列表必须不同,或者是参数个数不同,或者是参数类型不同。,3 方法重载,第002课深入Java编程,例如: 要打印不同类型的数据,int, float, String,不需要定义不同名的方法: printInt(int); printFloat(float); printString(String)。 利用方法重载,只需要定义一个方法名 pri

2、ntln(),接收不同的参数:,3.2 类方法的重载,3 方法重载,第002课深入Java编程,什么是方法的重载?在同一个类中至少有两个方法用同一个名字,但有不同的参数。,类,void println (int int_num),void println(double double_num),void println (nit nit_ um, float float_um),123,1.23,123,1.23,3.2 类方法的重载,第002课深入Java编程,3 方法重载,利用方法重载,计算边长分别为整型数和双精度 数的正方形的面积。,例子:,3.2 类方法的重载,第002课深入Java编程

3、,3 方法重载,import java.io.*; public class MathodOverloadApplication public static void main (String args) MathodOverloadApplication obj=new MathodOverloadApplication(); System.out.println(The square of integer 10 is +obj.square(10); System.out.println(The square of integer 10.25 is +obj.square(10.25);

4、,3.2 类方法的重载,第002课深入Java编程,3 方法重载,int square(int x) return x*x; double square(double y) return y*y; ,3.2 类方法的重载,第002课深入Java编程,3 方法重载,相同的方法名 不同的参数列表 void print(booleanb) void print(charc) void print(inti) void print(longl) void print(Strings),3.3 重载的特点:,第002课深入Java编程,3 方法重载,创建类的对象,即实例化对象。 对象是创建的具体实例。

5、创建对象步骤: 说明新建对象所属的类名; 说明新建对象的名字; 用new为新建对象开辟内存空间 如:已知有一个类:,4 对象,4.1 创建对象步骤,第002课深入Java编程,class PhoneCard long cardNumber; private int password; double balance; String connectNumber; boolean connected; boolean performConnection(long cn, int pw) ,4 对象,4.1 创建对象步骤,第002课深入Java编程,double getBalance( ) void

6、performDial( ) ,4 对象,4.1 创建对象步骤,第002课深入Java编程,如先创建PhoneCard类的一个对象mycard: 先声明,后创建 PhoneCard mycard; mycard = new PhoneCard( ); 声明的同时创建对象 PhoneCard mycard= new PhoneCard( );,4 对象,4.2 创建对象,第002课深入Java编程,要访问或调用一个对象的变量或方法,需要用算符“.”连接这个对象与其变量和方法。 如: System.out.println(mycard.cardNumber); 只能通过这个对象变量来访问其变量和方

7、法。,4.3使用对象,4 对象,第002课深入Java编程,说明:,new是“为新建对象开辟内存空间”的运算符;它以类为模板,开辟空间并实例化一个对象,返回对该对象的一个引用(即该对象所在的内存地址)。 被声明的对象,称为对象变量。,4.4使用对象,4 对象,第002课深入Java编程,构造函数是类的一种特殊方法。构造函数的特殊性体现在: 构造函数是与类同名的方法; 没返回值,也不能写void; 主要作用是完成新建对象的初始化工作; 一般不能显式地直接调用,而是用new来调用; 创建一个类的新对象的同时,系统自动调用该类的构造函数,为新建对象的初始化。,5构造函数(构造方法),5.1构造函数的

8、特点,功能:在创建对象的同时,完成新建对象的初始化工作。,第002课深入Java编程,例如,可以为PhoneCard类定义如下的构造函数,,5.2 构造函数的举例,5构造函数(构造方法),第002课深入Java编程,PhoneCard(long cn, int pw, double b, String s) cardNumber = cn; password = pw; balance = b; connectNumber = s; connected = false; ,创建一个类的对象用如下格式:,类名 变量名 = new 类的构造函数;,所以我们可以得到PhoneCard类的对象: Ph

9、oneCard myCard = new PhoneCard(12*1234, 50.0,“300”);,5.2 构造函数的举例,5构造函数(构造方法),第002课深入Java编程,构造函数还可以完成赋值以外的其他复杂操作,5.2 构造函数的举例,5构造函数(构造方法),第002课深入Java编程,PhoneCard(long cn, int pw, double b, String s) cardNumber = cn; password = pw; if(b 0) balance = b; else System.exit(1); connectNumber = s; connected

10、= false; ,一般情况下,类都有一个至多个构造函数,如果在定义类对象时没 有定义任何构造函数,称为默认构造函数。 默认构造函数不带参数,并且方法体为空。 如果上面的PhoneCard类没有定义构造函数,则系统产生的默认构造函数如下: PhoneCard() ,5.3 默认构造函数,5构造函数(构造方法),第002课深入Java编程,一个类的实例化,就是去调用一个叫做构造函数的方法。 构造函数的两个规则: 方法名称必须与类名称完全相匹配 对于方法,不要声明返回类型,5.4 构造函数特点,5 构造函数(构造方法),第002课深入Java编程,constructor(构造函数),在一个类中和类

11、同名的方法叫构造函数.系 统在产生对象时会自动执行.,class Point int x,y; Point() x =0;y=0; Point(int new_x,int new_y) x=new_x,y=new_y; ,class UsePoint Point point_A=new Point(); Point point_B=new Point(5,7); ,5.4 构造函数特点,5 构造函数(构造方法),第002课深入Java编程,对象的构造函数,构造函数应包含哪些内容? 构造函数多半定义一些初值或内存配置工作。 一个类可以有多个构造函数(重载),根据参数的不同决定执行哪一个。 如果程

12、序中没有定义构造函数,则创造实例时使用的是缺省函数,它是一个无内容的空函数.,5.4 构造函数特点,5 构造函数(构造方法),第002课深入Java编程,5.5 构造函数的调用次序,构造函数的调用次序: 构造函数以派生的次序调用。先调用父类,再调用子类的. 如下:ConstractOrder.java,5 构造函数(构造方法),第002课深入Java编程,class CCC extends BBB CCC() System.out.println(Inside Cs constructor.); class ConstractOrder public static void main(Stri

13、ng args) CCC c = new CCC(); ,class AAA AAA() System.out.println(Inside As constructor.); class BBB extends AAA BBB() System.out.println(Inside Bs constructor.); ,5.5构造函数的调用次序,5 构造函数(构造方法),第002课深入Java编程,打印结果: Inside As constructor Inside Bs constructor Inside Cs constructor,在Java编程语言中使用new运算符生成一个对象: 例如: Hello obj=new Hello();,5.6 对象的生成,5 构造函数(构造方法),第002课深入Java编程,为对象开辟空间; 对对象

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论