- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象方法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
您可能关注的文档
- 非小细胞肺癌的放射治疗精选.ppt
- 非常漂亮的汽车行业维修模板精选.ppt
- 非人力资源经理的HRM2016-讲授版精选.pptx
- 非洛地平缓释片在中国高血压患者治疗中的应用精选.doc
- 中考体育的计分方法概要.doc
- 非常详细的电脑基础入门培训教案.doc
- 静脉输血技术.ppt
- 纺织厂供配电课程设计.docx
- 非煤矿山安全培训.doc
- 纵断面设计PPT.pptx
- 专题06 经济体制(我国的社会主义市场经济体制)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题11 世界多极化与经济全球化-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 专题03 经济发展与社会进步-5年(2020-2024)高考1年模拟政治真题分类汇编(浙江专用)(解析版).docx
- 专题09 文化传承与文化创新-5年(2020-2024)高考1年模拟政治真题分类汇编(北京专用)(原卷版).docx
- 5年(2020-2024)高考政治真题分类汇编专题08 社会进步(我国的个人收入分配与社会保障)(原卷版).docx
- 专题07 探索世界与把握规律-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 5年(2020-2024)高考政治真题分类汇编专题06 经济体制(我国的社会主义市场经济体制)(原卷版).docx
- 专题11 全面依法治国(治国理政的基本方式、法治中国建设、全面推进依法治国的基本要求)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题17 区域联系与区域协调发展-【好题汇编】十年(2015-2024)高考地理真题分类汇编(解析版).docx
- 专题01 中国特色社会主义-5年(2020-2024)高考1年模拟政治真题分类汇编(原卷版).docx
最近下载
- 糖尿病视网膜病变临床诊疗指南(2022)解读.pptx
- 300T汽车吊性能说明书-XCA300_1全地面起重机技术规格书+[主臂风电臂加超起].pdf
- 读书分享《教育的细节》PPT课件.pptx
- 新冠病毒及新冠肺炎.pptx VIP
- 第9课 改变世界的工业革命【课件】--2023-2024学年中职高一下学期高教版(2023)世界历史全一册.pptx
- 【精】新人教版七年级历史上册第一、二、三单元分单元测试题(带答案).docx VIP
- 普通中小学校建设标准DGTJ08—12—2004.pdf
- 灯泡的亮度问题.ppt
- 文华财经指标公式源码大全期货多空趋势指标源码顶底买卖点.doc
- 幼儿园每月食品安全调度会议纪要.doc
文档评论(0)