欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年面向对象程序设计第二部分.docx

    • 资源ID:58674453       资源大小:134.58KB        全文页数:8页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年面向对象程序设计第二部分.docx

    精选学习资料 - - - - - - - - - 注:假如你的类里定义了一个或多个构造方法,那么 Java 不供应默认的构造方法. 上述例子 2 供应了构造方法 ,以下创建对象是非法的:p1=new Point ;对象的内存模型3、对象的内存模型我们使用前面的例子 1 来说明对象的内存模型 . (1) 声明对象时的内存模型 . 当用 XiyoujiRenwu zhubajie 类声明一个变量 zhubajie,即对象 zhubajie 时,如例子 1 中XiyoujiRenwu zhubajie ;内存模型如下列图 : 声明对象变量 zhubajie 后,zhubajie 的内存中仍没有任何数据 ,我们称这时 zhubajie 是一个空对象 ,空对象不能使用,由于它仍没有得到任何” 实体”.必需再进行为对象安排内存的步骤,即为对象安排实体(2) 对象安排内存后的内存模型当系统见到 zhubajie=new XiyoujiRenwu;时 ,就会做两件事a为 height,weight,head,ear,mouth,hand,foot 各个变量安排内存 . 即XiyoujiRenwu 类的成员变量被安排内存空间 .假如成员变量在声明时没有指定初值 ,那么 ,对于整型变量 ,默认初值是 0,对于浮点型 ,默认初值是 0.0, 对于 booean 型 ,默认初值是false,对于引用型 ,默认初值是 null. b给出一个信息 ,已确保这些变量是属于对象 zhubajie 的,即这些内存单元将由 zhubajie 操作(3) 创建多个不同的对象一个类通过使用 new 运算符可以创建多个不同的对象 ,这些对象将被安排不同的内存空间 ,因此 ,转变其中一个对象的状态不会影响其它对象的状态 . zhubajie=new XiyoujiRenwu ;sunwukong =new XiyoujiRenwu;1 / 5 名师归纳总结 - - - - - - -第 1 页,共 5 页精选学习资料 - - - - - - - - - 4.3.2.使用对象对象不仅可以操作自己的变量转变状态,而且仍拥有了使用创建它的那个类中的方法的才能,对象通过使用这些方法可以产生肯定的行为.通过使用运算符”.” ,对象可以实现对自己的变量拜访和方法的调用. 1、对象操作自己的变量(对象的属性)对象创建之后 ,就有了自己的变量 ,即对象的实体 .通过使用运算符”.” ,对象可以实 现对自己的变量的拜访 . 2、对象调用类中的方法-对象的功能 对象创建之后 ,可以使用运算符”.” 调用创建它的类中的方法 ,从而产生肯定的行为 功能 . 当对象调用类中的一个方法时,方法中的局部变量被安排内存空间.方法执行完毕,局部变量即刻释放内存. class Student float math, english, sum ;float ffloat k1, float k2 sum = k1 * math + k2 * english ;return sum; public class Example public static void mainString args Student wanghong, lihong ;wanghong = new Student ;lihong = new Student ;wanghong.math = 60.0f ;wanghong.english = 80f ;lihong.math = 70.0f ;lihong.english = 90.0f ;wanghong.sum = wanghong.f2.0f, 2.0f ;lihong.sum = lihong.f2.0f, 2.0f;System.out.println"lihong sum= " + lihong.sum;System.out.println"wanghong sum=" + wanghong.sum; 4.3.3. 对象的引用和实体我们已经知道 ,当用类创建一个对象时 ,类中的成员变量被安排内存空间 ,这些内存空 间称做该对象的实体 ,而对象中存放着引用 ,以确保实体由该对象操作使用 . public class Point int x,y ;Pointint a,int b x=a;y=b; 2 / 5 名师归纳总结 - - - - - - -第 2 页,共 5 页精选学习资料 - - - - - - - - - public static void mainString args Point p1=new Point12,16 ;Point p2=new Point6,18 ;p1=p2;System.out.printlnp1.x ;System.out.printlnp2.x ; 4.4 static 关键字4.4.1. 实例变量和类变量的区分 在叙述类的时候我们讲过 :类体的定义包括成员变量的定义和方法的定义 ,并且成员 变量又分为实例变量和类变量 ,用 static 修饰的变量是类变量 .那么类变量和实例变量有什么 区分呢 . 我们已经知道 :一个类通过使用 new 运算符可以创建多个不同的对象 ,这些对象将被安排不同的内存空间 ,现在再说得精确些就是 :不同的对象的实例变量将被安排不同的内存空间 ,如 果类中的成员变量有类变量 ,那么全部的对象的这个类变量都安排给相同的一处内存 ,转变其 中一个对象的这个类变量会影响其它对象的这个类变量 . 也就是说对象共享类变量 . 如class Takecare static int x ;int y ; . class A Takecare A1=new Takecare;Takecare A2=new Takecare; A1.x=18 这时假如输出A1.x,A2.x 的值 ,结果相同都是18 3 / 5 名师归纳总结 - - - - - - -第 3 页,共 5 页精选学习资料 - - - - - - - - - 见例子 StaticTest.java 当 Java 程序执行时 ,类的字节码文件被加载到内存 ,假如该类没有创建对象 ,类的实例成员变量不会被安排内存 .但是 ,类中的类变量 ,在该类被加载到内存时 ,就安排了相应的内存空间 .如果该类创建对象 ,那么不同对象的实例变量互不相同 ,即安排不同的内存空间 ,而类变量不再重新安排内存 ,全部的对象共享类变量 ,即全部的对象的类变量是相同的一处内存空间 ,类变量的内存空间直到程序退出运行 ,才释放所占有的内存 . 4.4.2. 通过类名直接拜访类变量类变量在类的字节码加载到内存时就安排了内存空间,并且被全部的对象共享,因此,Java语言答应通过类名直接拜访类变量. class Statictest2 static int a=1 ; class Point public static void mainString args int c = Statictest2.a;System.out.printlnc ; 4.4.3. 实例方法和类方法的区分当类的字节码文件被加载到内存时 ,类的实例方法不会被安排入口地址 ,当该类创建对象后 ,类中的实例方法才安排入口地址 ,从而实例方法可以被类创建的任何对象调用执行 .需要留意的是 ,当我们创建第一个对象时 ,类中的实例方法就安排了入口地址 ,当再创建对象时,不再安排入口地址 ,也就是说 ,方法的入口地址被全部的对象共享 ,当全部的对象都不存在时,方法的入口地址才被取消 . 对于类中的类方法 ,在该类被加载到内存时 ,类方法就安排了相应的入口地址 .从而类方法不仅可以被类创建的任何对象调用执行 ,也可以直接通过类名调用 .类方法的入口地址直到程序退出才被取消 . 无论是类方法或实例方法 ,当被调用执行时 ,方法中的局部变量才被安排内存空间 ,方法调用完毕 ,局部变量即刻释放所占的内存 . 4.4.4. 通过类名直接调用类方法类方法在类的字节码加载到内存时就安排了入口地址,因此 ,Java 语言答应通过类名直接调用类方法 ,而实例方法不能通过类名调用 .在叙述类的时候我们强调过 ,在 Java 语言中 ,类中的类方法不行以操作实例变量 ,也不行以调用实例方法 ,这是由于 ,在类创建对象之前 ,实例成员变量仍没有安排内存 ,实例方法也没有入口地址4 / 5 名师归纳总结 - - - - - - -第 4 页,共 5 页精选学习资料 - - - - - - - - - class A int x,y ; /实例变量 static int z ; /类变量 static float f int a / 类方法 实例方法 float g int x1,int x2 / class B public static void mainString args / 带有 static,属于类方法 /合法 A.f ;A.g ;/非法 A a = new A ;a.f;/合法 a.g;/合法 5 / 5 名师归纳总结 - - - - - - -第 5 页,共 5 页

    注意事项

    本文(2022年面向对象程序设计第二部分.docx)为本站会员(H****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开