第5章使用对象和类编写程序B
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可见性修饰符与访问器方法
TestCircleWithWithPrivateModifier.java 演示访问器方法。
可见性修饰符与访问器方法
p134编程练习 5.1 5.2
5.6类变量、 5.6类变量、类常量和类方法 类变量
Class Circle() 有修饰符static, numofObjects 是类变量 { static int numofObjects ; double radius; }
可见性修饰符与访问器方法
对象不能直接访问私有数据域。但是用户常常需要检 索和修改数据域。为了能够访问数据域,可以为私有 数据域添加读取方法和设置方法。 这些方法称为访问器方法(accessor method)。如: public double getRadius(){ return radius; } public void setRadius(double radius){ this.radius=radius; }
第二篇 面向对象程序设计
讲稿和源代码下载地址 ftp://ftpjsj.itnh.com.cn文件夹汤立浩目录下
5.5 可见性修饰符与访问器方法
前面我们使用c.radius++直接修改对象的属性,这种让用户 通过对象直接修改属性并不是一个好的做法。这样会引起难以 调试的错误。 为了避免通过对象直接修改对象属性,可以使用private修饰符, 声明该属性是私有的。这样使用c.radius++将是非法的。 public:用它定义的类、方法和数据,所有程序都能访问。 private:用它定义的方法或数据,只能由定义该方法和数据的 类访问,而其他类不能访问。
TestInstanceAndClassVariable.java 演示类变量
类变量、 类变量、类常量和类方法
请思考类变量和实例变量有什么不同?
类变量、 类变量、类常量和类方法
实例方法属于实例而且只能在实例创建后使用。 对象名.方法名(); 类方法可以有两种调用方式: 类名.方法名(); 对象名.方法名(); 类方法和类变量相类似。
什么时候使用类方法? 不使用实例变量的方法可以定义为类方法! 不使用实例变量的方法可以定义为类方法!
类变量、 类变量、类常量和类方法
类变量、 类变量、类常量和类方法
内存
circle1: Circle
Βιβλιοθήκη Baidu
1
radius=1 numOfObject=2
radius
2
circle2: Circle radius=5 numOfObject=2
numOfObject
5
radius
Circle1中的radius和Circle2中的radius在不同内存空间 不同内存空间, 不同内存空间 类变量numOfObject被同一类中所有对象共享 共享。 共享
radius是实例变量
类变量、 类变量、类常量和类方法
Circle circle1 = new Circle(); Circle circle1 = new Circle(5); radius是实例变量,Circle1中的radius独立与 circle2中的radius,存储在不同内存空间。 circle1中radius的变化不会影响circle2的 radius。 如果想让一个类中的所有实例共享数据,请用类 类 变量。类变量将变量值存储于类的公用内存。 变量 所以某个对象修改了类变量的值,同一类中的 所有对象都会受影响。