- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章-OOP(上)
Java中,函数被称为方法; 定义一个方法的一般形式: [访问权限] 返回值类型 方法名称(形参列表) { 方法主体; } 我们更关注的是方法原型,对于方法原型的三个主要组成部分应当明确区分: 返回值类型 方法名称 形式参数 方法原型 /*Java中的方法示例 代码片段*/ /*定义求平方值的方法*/ public int square(int x) { return (x * x); } 返回值类型 方法名称 形式参数 /*编写求绝对值的方法来求整数的绝对值*/ /*AbsoluteValue类,其中包含求绝对值的方法 Java中的任何方法都必须在类中定义*/ public class AbsoluteValue { /*求绝对值的方法*/ public int abs(int x) { return ((x = 0) ? x : -x); } /*main方法,程序入口*/ public static void main(String[] args) { //必须先实例化类的对象,才可以调用到其中的成员方法 AbsoluteValue obj = new AbsoluteValue(); int a = -8, b; b = obj.abs(a); //调用abs方法求a的绝对值 System.out.println(a + 的绝对值是 + b); } } 方法的定义 方法的调用 用于定义一组方法,这些方法具有相同的名称,并执行类似的操作,但是却使用不同的参数列表; 编译器会根据调用时传递的实际参数自动判断具体调用的是哪个重载方法,如: /*abs方法的重载*/ int abs(int x) {……} float abs(float x) {……} double abs(double x) {……} long abs(long x) {……} 方法名相同 参数不同(可以有三方面的不同) 数量不同 类型不同 顺序不同 同一作用域 温馨提示:方法重载跟方法的返回值类型没有任何关系。也就是说,只有返回值不同的方法不能构成重载。 /*错误的方法重载*/ void fun(int x) {……}; int fun(int x) {……}; public class AbsoluteValue { public int abs(int x) { //重载方式1,求整数的绝对值 return ((x = 0) ? x : -x); } public float abs(float x) { //重载方式2,求浮点数的绝对值 return ((x = 0) ? x : -x); } public double abs(double x) { //重载方式3,求双精度数的绝对值 return ((x = 0) ? x : -x); } public long abs(long x) { //重载方式4,求长整型数的绝对值 return ((x = 0) ? x : -x); } public static void main(String[] args) { AbsoluteValue obj = new AbsoluteValue(); int a = -8, b; b = obj.abs(a); System.out.println(a + 的绝对值是 + b); float c = -3.14f, d; d = obj.abs(c); System.out.println(c + 的绝对值是 + d); } } 利用不同数据类型的参数重载; 对于带有相同数量参数但参数类型不同的重载方法,编译器可以区分它们,如: 只要所有参数式样都是唯一的,就可以使用多个重载; 很多编程语言已经重载了输出方法,以便您可以用相同的函数名称输出任何类型的数据。 int square(int x) {……} float square(float x) {……} double square(double x) {……} 利用不同数量的参数重载,如: 将调用与参数最匹配的方法,如果没有方法得出最佳匹配,那么编译器将报错; 编译器解决重载的方式与方法定义的顺序无关; 重载不考虑方法的返回值类型。 /*函数定义*/ int fun(int n1) {……} int fun(int n1, int n2, int n3) {……} /*函数调用*/ fun(a); fun(x, y,
您可能关注的文档
- 科技项目申报基础知识(非专业版).doc
- 南汇区2006学年度第一学期期末试卷及答案.doc
- 新“渔人码头”---港口、渔人码头旅游开发的创新设计.doc
- 激起课堂波澜实现有效教学.doc
- ◆圆锥曲线期末复习.doc
- 06等高线计.ppt
- 高三地理试卷讲评课(第二部分).ppt
- 高三理综测试卷.doc
- 高三数学训练题三.doc
- 申请单位:市县(区)医院.doc
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》能力提升B卷题库附答案详解.docx
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》能力提升B卷题库(预热题).docx
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》能力提升B卷题库附答案详解.docx
- 2025年《商标法》应知应会考试题库(含答案).docx
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》能力检测试卷【全国通用】附.docx
- 2025年《商业银行会计》考试题及答案.docx
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》能力提升B卷题库附答案详解.docx
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》能力提升B卷题库附答案详解.docx
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》能力提升B卷题库往年题考附.docx
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》能力提升B卷题库附参考答案.docx
最近下载
- 机械仿生狗设计说明书.doc
- 2025《西藏自治区建设工程计价定额》A房屋建筑与装饰工程.pdf
- 传送带同步运行功能使用说明书-北京迪基透科技有限公司.PDF
- 2025河北邯郸魏县选聘村级党务(村务)工作者490人笔试模拟试题参考答案详解.docx VIP
- 心脑血管疾病防治健康教育讲座课件PPT.ppt VIP
- 2025河北邯郸临漳县选聘农村党务(村务)工作者笔试模拟试题及答案解析.docx VIP
- 国开一网一 电子商务概论 实践任务(B2B电子商务网站调研报告).doc
- Siemens西门子工业SITRANS LR500 系列 (mA HART) SITRANS LR500 系列 (mA HART)使用手册.pdf
- 一种驻车空调和卡车启动共用锂电池模组.pdf VIP
- 电子商务学习记录.docx VIP
文档评论(0)