面向对象方法docx精选
类的使用与类的设计
一个面向对象的应用程序一般包括若干个类。程序员在开发软件时,经常扮演两种角色:类的使用者和类的设计者
基本思路:
定义若干个域,用以表示对象状态的属性或相关数据
定义若干构造器、实例初始器,用以对象创建与初始化
定义若干个方法,用以表示对象的行为、操作或功能
设置域、方法、构造器的访问控制权限
类的域(field)是直接声明在类体中的变量,分为静态域(static)与非静态域。
非静态域又称实例变量,而静态域又称为类变量。
对象之间相互独立的属性应该定义为实例变量。
对象之间共享的属性应该定义为类变量
静态的final 域,一般用大写形式命名;比如
final static int MAX_VALUE =1000;
访问实例变量的方式:
对象引用.实例变量名
访问类变量的方式:
类名.类变量名
实例变量的特点:依赖于对象、对象间相互独立
类变量(static)的特点:不依??于对象、可被多个对象共享
实例变量的生命周期与对象一样。当某个对象存在时,它的实例变量总是同时存在。当对象消亡之后,对象的实例变量一起消失。
与实例变量不同,类变量与类相关。
类变量的生命周期从类加载开始直到类卸载结束,即某个类被加载后,该类的类变量就可以访问了;类变量的内存空间分配以及初始化都是在类加载时(无需创建对象)完成。
类变量不依赖于对象。在对象创建时,不会为类变量分配内存。即使没有创建该类的任何对象,也可以使用类变量。
如果创建了该类的多个对象,这些对象将共享同一个类变量。因此,如果修改了某个类变量,所有对象都会受到影响
构造器的作用是创建对象并初始化对象状态。
为类使用者提供良好的对象初始化手段,可以设计一个或多个构造器。
命名规定:构造器名必须与类名完全相同,大小写一致
构造器调用总是通过new 操作符,如
“newRectangle(100,100,300,150);”
好处:创建对象时隐含地说明了用哪个类的构造器。
返回类型规定:构造器没有返回类型
构造器的形式参数列表与普通方法类似
在构造器中,可以访问参数变量,可以声明使用局部变量,而且还可以访问直接使用成员变量名访问成员变量。
构造器中可以访问成员变量和成员方法,实际上访问的是“当前对象”(即“this 对象”)的成员变量和方法。所谓的当前对象就是当前正在被创建的对象。
构造器重载的评判依据:形式参数列表不同
形参个数不同;
形参个数相同,但是从左往右依次比较各个参数,存在不同的形参类型。
在实例方法中访问指定对象成员、构造器和静态成员
访问指定对象的非静态成员,包括指定对象实例变量的读写、实例方法的调用
intcompareArea(Rectangle rectangle){
returnthis.getArea() - rectangle.getArea();
}
调用构造方法创建对象
Rectangle duplicate(){
Rectangle rect = new Rectangle(xTopLeft,yTopLeft,xBottomRight,yBottomRight);
returnrect;
}
访问静态成员,包括类变量的读写、类方法的调用
在方法或构造器声明时说明异常类型
返回类型方法名(形式参数列表) throws 异常类型列表
构造器名(形式参数列表) throws 异常类型列表
一个方法可以抛出多种类型的异常对象,需在throws 后面书写异常类型列表.
这些异常类型包括预定义异常类(如Exception),以及自定义的异常类(第7章)。
异常对象创建和抛出
throw new Exception(异常信息字符串);
处理异常
处理异常属于使用端的代码。
用try-catch代码块。
类方法的方法体中没有当前对象:不能直接访问实例方法和实例变量
static void abc(){
int width = getWidth(); //出错,不能直接访问实例方法
xTopLeft = 10; //出错,不能直接访问实例变量
nextId = 1; //不出错,可以直接访问类变量
getNextId(); //不出错,可以直接访问类方法
}
实现类则负责实现这些抽象方法,即提供抽象方法的具体实现代码。
类方法的方法体中没有当前对象:不能直接访问实例方法和实例变量
static void abc(){
int width = getWidth(); //出错,不能直接访问实例方法
xTopLeft = 10; //出错,不能直接访问实例变量
nextId = 1; //不出错,可以直接访问类变量
getNextId(); //不出错,可以直接访问类方法
}
Java 通过包(package)来组织管理程序中所定义的类型(包括类和接口)
Jav
您可能关注的文档
最近下载
- 施工现场各类设备机械安全监理实施细则(参考).doc VIP
- 华东交通大学2015-2016第一学期电牵专业《电机与拖动》期末A卷.doc VIP
- 储气罐专业定期检查表.docx VIP
- JB_T 14788-2024《连续延伸带式输送机》.pdf VIP
- GB 265-1988 运动黏度.pdf
- 山东省青岛市胶州市2024-2025学年七年级上学期期末历史试题(含答案).pdf VIP
- 基于概念整合理论研究母语对二语写作的影响-外国语言学及应用语言学专业论文.docx VIP
- 中国旅游地理第四章旅游区划.ppt VIP
- 《陆上风力发电机组钢混塔架施工关键材料技术规程》.pdf VIP
- 2025年AI图像识别服务合同协议合同.docx VIP
原创力文档

文档评论(0)