面向对象方法docx.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

您可能关注的文档

文档评论(0)

1520520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档