ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:157.59KB ,
资源ID:16012020      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16012020.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第3章面向对象上补充案例文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第3章面向对象上补充案例文档格式.docx

1、 4、设计思路实现原理1使用class关键字定义一个表示学生类型的类,类名为Student。 2在Student类中定义两个成员变量name和age,分别用来表示XX和年龄。其中,name的数据类型为String,变量age的数据类型为int。 3在Student类中定义一个表示说话行为的speak()方法,用于输出学生的XX和年龄。二、案例实现classStudent String name; int age; void speak() System.out.println(我的名字是 +name+,今年 +age+岁);三、案例总结1、Java语言严格区分大小写,class和Class是不

2、同的,在定义类时只能使用class关键字2、在Student类中,成员变量name是String类型,String表示一个字符串,后面的章节会详细讲解3、思考一下:自己定义一个手机(Phone)类,在类中定义品牌(brand)和价格(price)属性,定义打 的call()方法,代码如下所示public class Phone String brand; double price; void call()System.out.println(hi,how are you doing 案例3-2 同一对象被多个变量引用00103003对象创建与使用掌握如何创建类的对象掌握如何使用两个或者多个变量

3、引用同一个实例对象。在程序中,一个对象可能在多处使用,这样就可能需要有多个变量来引用这个对象。为了让初学者更好地掌握对象的创建和使用,本案例将基于案例3-1,创建三个学生对象,它们的引用变量分别是s1、s2和s3,首先分别使用s1和s2引用,为name和age赋值,然后调用speak()方法,最后将s2变量赋值给s3,s3也调用speak()方法。1编写Example01类2在main()方法中,创建Student类的第一个对象,其引用变量为s1,使用s1调用name和age变量分别为它们赋值为“X三和“19,然后调用speak()方法。3创建Student类的第二个对象,其引用变量为s2,使

4、用s2分别为name和age赋值为“李四和“20,然后调用speak()方法。4创建Student类的第三个对象,其引用变量为s3,将s2的值赋给s3,然后使用s3调用speak()方法。public class Example01 public static void main(String args) Student s1 = new Student(); s1.name=X三; s1.age=19; s1.speak(); Student s2 = new Student(); s2.name=李四 s2.age=20; s2.speak(); Student s3 = new Stud

5、ent(); s3=s2; s3.speak();运行结果如图3-1所示。图3-1运行结果1、Student s3 = s2这句代码的作用是将s2引用的内存地址赋值给s3,换句话说,就是使变量s3和s2引用了同一个Student对象,因此s3.speak()方法和s2.speak()方法打印的结果相同。为了更加深刻地了解这句代码的含义,下面通过一X内存图来演示,具体如图3-2所示。图3-2内存图2、可以使用两个或者多个变量引用同一个实例对象,只要通过其中一个变量对该对象的属性进行修改,使用其它引用变量访问时,访问的都是修改后的属性。案例3-3 类的封装00103004类的封装了解为什么要对类进

6、行封装了解如何实现类的封装在案例3-2中,s1对象的年龄是可以随便赋值的,如果将age的值赋值为-30,显然违背了事实。为了解决这类问题,我们需要对类进行封装,防止外界对类中的成员变量随意访问。为了让初学者更好地掌握类的封装,本案例将使用private关键字对成员变量name和age进行私有化,同时分别提供一个setName(String n)和setAge(int a)方法用于外界的访问,其中setAge(int a)中需要对age进行判断。1)编写测试类Example02,将属性age的值设为-30,演示不合理现象。2)对Student类进行修改,将name和age属性使用private修

7、饰,然后定义getName()、setName(String n)、getAge()和setAge(int a)四个对外访问name和age的方法。3)在setAge(int a)方法中对传入的参数进行检查,如果输入值为负数,则打印出“设置的年龄不合法,如果不为负数,才将其设置为age属性的值。4对Example02类进行修改,在main()方法中创建Student类的实例对象,通过调用对象的setName(String n)和setAge(int a)方法来设置的name属性和age属性值,并调用speak()方法。1、定义Example02类,代码如下所示:public class Exa

8、mple02 public static void main(String args) Student s1 = new Student(); s1.name = 小新 s1.age = -30; s1.speak();运行结果如图3-3所示。图3-3运行结果 从上图可以看出,当将age的值设置为-30后,程序不会报错,但却违背了现实。2、对Student类进行封装,其代码如下:class Student private String name = private int age = 19; public String getName() return name; public void se

9、tName(String n) name = n; public int getAge() return age; public void setAge(int a) / 对传入的参数进行检查 if(a 0) System.out.println(设置的年龄不合法 elseage = a; System.out.println(我的名字是 + name + ,今年 + age + s1.setName( s1.setAge(-30);运行结果如图3-4所示。图3-4运行结果 1、Student的name和age属性使用private关键字修饰为私有后,在Example02类中不能再使用s1.n

10、ame和s1.age的方式访问这两个属性,只能通过public类型的setName(String n)和setAge(int a)方法进行访问。在上面的代码中,调用setAge(int a)方法时的传入参数为-30,由于参数小于0,会打印出“设置的年龄不合法,并不会将负数赋值给age属性。由此可见,只要实现了封装就能对外界的访问进行控制,避免对私有变量随意修改而引发问题。2、思考一下:定义一个Division类(除法),类中定义两个int类型的私有成员变量dividend(被除数)和divisor(除数),默认值都为1。定义四个公有方法setDividend(int mDividend )、g

11、etDividend()、setDivisor(int mDivisor)和getDivisor(),用于对私有属性进行设置和访问。在setDivisor(int mDivisor)方法中对传入的参数进行检查,如果传入值为零,则打印“除数不能为零,如果不为零,才将其设置为divisor属性的值。定义Example03类,在类的main()方法中创建Division对象,分别调用setDividend(int mDividend)和setDivisor(int mDivisor)方法给两个私有属性dividend和divisor赋值,然后打印出dividend和divisor的结果。(1)定义D

12、ivision类,代码如下所示:public class Division private int dividend = 1; private int divisor = 1; public void setDividend(int mDividend) dividend = mDividend; public int getDividend() return dividend; public void setDivisor(int mDivisor) if (mDivisor = 0) 除数不能为零 else divisor = mDivisor; public int getDivisor

13、() return divisor;(2)定义Example03类,代码如下所示:public class Example03 Division division = new Division(); division.setDividend(10); division.setDivisor(0); int dividend = division.getDividend(); int divisor = division.getDivisor(); System.out.println(dividend / divisor);运行结果如图3-5所示。图3-5运行结果从运行结果可以看出,由于实现了Divisio

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1