java类和对象基础应用_Java编程基础及应用第5章类和对象.ppt

Java编程基础及应用第5章类和对象

5.4.3 调用构造方法 例5.12 this关键字调用类的构造方法举例。 程序运行结果: 产生一个新的Person对象。 姓名:黄小仙,年龄:36 5.4.3 调用构造方法 说明: (1)在构造方法中,可以通过this调用本类中具有不同参数表的构造方法。调用形式如下: (2)使用this调用构造方法的语句必须也只能放在构造方法的首行。若程序如下,会出现编译错误。 this(参数表) 5.4.4 指代对象本身 例5.13 this用于指代对象本身。 在类Person中,声明了成员变量age;定义了成员函数getAge()、setAge(int age)和equals(Person p1)。其中,setAge(int age)的参数age与成员变量age同名,因此,引用成员变量时其名前的this不可省,即this.age=age;在equals(Person p1)方法中,this代表了对象p1。 第五章 类和对象 5.1 类和对象概述 5.2 构造方法 5.3 类和成员的修饰符 5.4 this关键字 5.5 本章小结 5.5 本章小结 Java语言中类的含义,类的声明,类的成员组成及类的封装过程; 对象的实例化,成员访问和对象的构造及回收; 类中构造方法的定义、定义类和成员时的修饰符,this关键字的用法。 学习本章之后,学生应能理解类和对象的概念,熟练使用类及其成员的访问控制方法,掌握类的各种构造方法,为后续深入学习面向对象编程方法打好基础。 第五章 类和对象 5.1 类和对象概述 5.2 构造方法 5.3 类和成员的修饰符 5.4 this关键字 5.5 本章小结 5.2 构造方法 类中有一种特殊的方法,其方法名与类名相同,称为构造方法。当使用new运算符实例化一个对象时,系统为对象创建内存区域并自动调用构造方法初始化成员变量。 构造方法定义格式如下: class 类名称{ 访问权限 类名称(类型1 参数1, 类型2 参数2, ...){ 程序语句; ... //构造方法没有返回值 } } 5.2 构造方法 说明: (1)构造方法的名称必须与类名相同;主要用于对象的初始化; (2)构造方法的声明处不能有任何返回值类型的声明; (3)不能在构造方法中使用return语句返回一个值; (4)构造方法不能直接调用,用new创建对象时自动调用; (5)一个类中可以定义多个构造方法,但是构造方法的参数表不能相同,即各构造方法的参数个数不同或参数类型不同; (6)当一个类没有构造方法的时候,Java自动为该类生成一个默认的构造方法,默认构造方法没有参数。但是,当一个类定义了构造方法时,默认构造方法将不会被提供。 5.2 构造方法 例5.4 针对例5.1的Dog类,定义构造方法。 DogTest2类中定义了三个成员变量:name、color和age,DogTest2 (String name1, String color1, int age1)是其构造函数,实现对象的初始化。 5.2 构造方法 例5.5 定义PersonTest类,使用默认构造方法创建对象,并打印输出对象的信息。 程序运行结果: null null 0 李小红 太原市 24 5.2 构造方法 例5.6 定义多个构造方法,根据参数不同,调用相应的构造方法。 程序运行结果: 张小白 14 李小红 5.2 构造方法 分析: 对比例5.5和例5.6可知,当程序中没有明确定义构造函数时,系统会调用默认构造方法对成员变量用默认值进行初始化(字符串型变量的默认值为null,数值型变量的默认值为0),如例5.5。当程序中明确定义了构造函数,在main()方法中实例化对象p1、p2时,根据所提供的实参个数调用相应的构造方法,对其成员变量进行初始化,如例5.6。 5.2 构造方法 拓展练习 设计一个表示学生的Student类,类中的变量有姓名、学号和记录学生数量的变量,定义类的3个构造方法(无参、为姓名赋值、为姓名和学号赋值)、返回类信息的方法,编写应用程序设置两个Student类的对象。 第五章 类和对象 5.1 类和对象概述 5.2 构造方法 5.3 类和成员的修饰符 5.4 this关键字 5.5 本章小结 5.3 类和成员的修饰符 在定义类和类的成员时,可以使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值