- 13
- 0
- 约 55页
- 2017-04-16 发布于湖北
- 举报
4.5.1 传值机制 Java方法中的参数传递方式只有一种,也就是值传递。所谓的值传递,就是将实际参数的副本传递到方法内,而参数本身不受任何影响。例如,去银行开户需要身份证原件和复印件,原件和复印件上的内容完全相同,当复印件上的内容改变的时候,原件上的内容不会受到影响。也就是说,方法中参数变量的值是调用者指定值的拷贝。 4.5.2 基本数据类型参数的传值 对于基本数据类型的参数,向该参数传递值的级别不能高于该参数的级别,比如,不能想int型参数传递一个float值,但可以向double型参数传递一个float值。 【例】 在Point类中定义一个add方法,然后在Example类的main方法中创建Point类的对象,然后调用该对象的add(int x,int y)方法,当调用add方法的时候,必须向add方法中传递两个参数。 4.5.3 引用类型参数的传值 当参数是引用类型时,传递的值是变量中存放的“引用”,而不是变量所引用的实体。当两个相同类型的引用型变量,如果具有同样的引用,就会用同样的实体,因此,如果该表参数变量所引用的实体,就会导致原变量的实体发生同样的变化;但是,改变参数中存放的“引用”不会影响向其传值的变量中存放的“引用”。 【例4-5】 Car类为汽车类,负责创建一个汽车类的对象,fuelTank类是一个油箱类负责创建油箱的对象。Car类创建的对象调用run(fuelTank ft)方法时需要将fuelTank类创建的油箱对象ft传递给run(fuelTank ft),该方法消耗汽油,油箱中的油也会减少。 4.6 对象的组合 如果一个类把某个对象作为自己的一个成员变量,使用这样的类创建对象后,该对象中就会有其他对象,也就是该类对象将其他对象作为自己的一部分。 4.6.1 组合与复用 如果一个对象a组合了另一个对象b,那么对象a就可以委托对象b调用其方法,即对象a以组合的方式复用对象b的方法。 4.6.2 类的关联关系和依赖关系的UML图 1. 关联关系 如果A类中成员变量是用B类声明的对象,那么A和B的关联是关联关系,称A类的对象关联于B类的对象或A类的对象组合了B类的对象。如果A关联于B,那么UML图通过一条实线连接A和B的UML图,实线的起始端是A的UML图,终点端是B的UML图,但终点端使用一个指向B的UML图的方向箭头表示实线的结束。 图4-9 关联关系UML图 2. 依赖关系 如果A类中某个方法的参数是用B类声明的对象或某个方法返回的数据类型是B类对象,那么A和B的关系是依赖关系,称A依赖于B。如果A依赖于B,那么UML通过使用一个虚线连A和B的UML图,虚线的起始端是A的UML图,终点端是B的UML图,但终点端使用一个指向B的UML图的方向箭头表示虚线的结束。 图4-10 依赖关系的UML图 4.7 实例方法与类方法 4.7.1 实例方法与类方法的定义 声明方法时,方法类型前面不使用static修饰的是实例方法,使用static修饰的是类方法也称作静态方法。 4.7.2 实例方法和类方法的区别 1. 对象调用实例方法 当字节码文件被分配到内存时,实例方法不会被分配入口地址,只有当该类创建对象后,类中的实例方法才会分配入口地址,这时实例方法才可被类创建的对象调用。 2. 使用类名调用类方法 类中定义的方法,在该类被加载到内存时,就分配了相应的入口地址,这样类方法不仅可以被类创建的任何对象调用执行,也可以直接通过类名调用。类方法的入口地址直到程序退出时才被取消。但是需要注意,类方法不能直接操作实例变量,因为在类创建对象之前,实例成员变量还没有分配内存。实例方法只能使用对象调用,不能通过类名调用。 4.8 this关键字 this关键字表示某个对象,this关键字可以出现在实例方法和构造方法中,但不可以出现在类方法中。当局部变量和成员变量的名字相同时,成员变量就会被隐藏,这时如果想在成员方法中使用成员变量,则必须使用关键字this。 语法格式为: this.成员变量名 this.成员方法名() 【例4-7】创建一个类文件,该类中定义了setName(),并将方法的参数值赋予类中的成员变量。 Java实用教程 第4章 面向对象基础 第 4 章 面向对象基础 4.1 面向对象程序设计 4.2 类 4.3 构造方法与对象 4.4 类与程序的基本结构 4.5 参数传值 4.6 对象的组合 4.7 实例方法与类方法 4.8 this关键字 4.9 包 4.10 import语句 4.11 访问权限 4.2 类 Java语言与其他面向对象语言一样,引入了类和对象的概念,类是用来创建对象的模
您可能关注的文档
最近下载
- 2025-2026学年高二物理上学期期末模拟卷【测试范围:人教版必修三+选修一】(考试版).pdf VIP
- 葡萄膜炎课件.PPT VIP
- 《数字化转型成熟度模型与评估》培训PPT.doc VIP
- 2025年江苏农牧科技职业学院单招职业技能测试题库及答案详解1套.docx VIP
- 倒推英语流利说APP产品需求文档.docx VIP
- 2025贵阳市工业投资有限公司管培生招聘试题及答案解析.docx
- 辽宁省名校联盟2025高考模拟卷押题卷物理一.docx VIP
- 经口内镜下贲门缩窄术治疗难治性胃食管反流病的临床效果.pptx VIP
- 浅析余华《活着》中的生命意义.docx VIP
- 伍伍慧《お月さま(月亮大人 otsukisama)》指弹吉他谱.pdf VIP
原创力文档

文档评论(0)