




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
类的方法 类的方法 写出狮子对象的 跑 方法写出狮子对象的 叫 方法 电动玩具狮子属性 颜色 黄色行为 跑叫 按此按钮 狮子开始跑 类的方法示例 publicclassAutoLion Stringcolor 黄色 publicvoidrun System out println 正在以0 1米 秒的速度向前奔跑 publicStringbark Stringsound 吼 returnsound AutoLion类代码实现 方法名称 方法体 返回类型 如何定义类的方法 类的方法定义类的某种行为 或功能 方法的名称 方法的主体 方法返回的数据类型 定义类的方法 public返回值类型方法名 这里编写方法的主体 步骤一 定义方法名以及返回值 步骤二 编写方法体 方法的命名 如何给方法起名字 必须以字母 或 开头可以包括数字 但不能以它开头遵循的命名规范通常方法名是一个动词 如果有两个以上单词组成 第一个单词的首字母小写 其后单词首字母大写 方法的返回值 两种情况如果方法具有返回值 方法中必须使用关键字return返回该值 返回类型为该返回值的类型如果方法没有返回值 返回类型为void publicclassStudent Stringname 张三 publicvoidgetName returnname 返回类型要匹配 编译错误 常见错误2 1 publicclassHelloWorld publicstaticvoidmain String args return HelloWorld 返回类型是void方法中不能有返回值 常见错误2 2 publicclassStudent publicdoublegetInfo doubleweight 95 5 doubleheight 1 69 returnweight height 方法至多可以返回一个值 不能返回多个值 方法调用 方法是个 黑匣子 完成某个特定的应用程序功能 并返回结果方法调用 执行方法中包含的语句 对象名 方法名 小明过生日 爸爸送他一个电动狮子玩具 编程测试这个狮子能否正常工作 方法调用 publicclassAutoLion Stringcolor 黄色 publicvoidrun 方法1 跑System out println 正在以0 1米 秒的速度向前奔跑 publicStringbark 方法2 叫Stringsound 吼 returnsound publicStringgetColor 方法3 获得颜色属性returncolor publicStringshowLion 方法4 描述狮子特性return 这是一个 getColor 的玩具狮子 publicclassTestLion publicstaticvoidmain String args AutoLionlion newAutoLion System out println lion showLion lion run System out println lion bark 在类的方法中调用该类另一个方法 在main 方法中调用类的方法 变量作用域3 1 publicclassAutoLion Stringcolor 黄色 publicvoidrun 方法1 跑System out println 正在以0 1米 秒的速度向前奔跑 publicStringbark 方法2 叫Stringsound 吼 returnsound publicStringgetColor 方法3 获得颜色属性returncolor publicStringshowLion 方法4 输出类的描述信息return 这是一个 getColor 的玩具狮子 叫声是 sound 可以调用吗 方法调用小结 方法之间允许相互调用 不需要知道方法的具体实现 提高了效率 方法的参数传递 参数传递实参的数目必须和形式参数个数相等实参的数据类型和形式参数的类型相容Java的参数传递是值传递 引用数据类型传递的是对象地址练习voidpassByRef StringBufferbuf buf append Hello 方法的返回值 返回值方法在执行完毕后返还给调用它的环境的数据 如无返回值 在Java中也必须给出返回值数据类型为voidreturn语句return 用于终止方法的运行并指定要返回的数据在方法体内可包含0个或任意多个return语句return语句中表达式的类型必须能自动转换为方法的返回值类型 构造方法 构造方法是一个特殊的方法 在Java中 对象是被构造出来的 Java中的每个类都有构造方法 用来初始化该类的一个对象 构造方法具有和类名相同的名称 而且不返回任何数据类型重载经常用于构造方法构造方法只能由new运算符调用 classPoint intx y Point x 0 y 0 Point intx inty this x x this y y 为什么需要构造方法2 1 开发Java教员类JavaTeacher 要求 具有属性 姓名 年龄 学历 职位具有行为 自我介绍 publicclassJavaTeacher privateStringname 姓名privateintage 年龄privateStringeducation 学历privateStringposition 职位publicStringintroduction return 大家好 我是 name 我今年 age 岁 学历 education 目前职位是 position publicStringgetName returnname publicvoidsetName StringmyName name myName 以下是其他属性的setter getter方法 此处省略 为什么需要构造方法2 2 编写一个测试类 要求 实例化一个教员对象 并对其初始化在控制台输出该教员的自我介绍 publicclassJavaTeacherTest publicstaticvoidmain String args JavaTeacherteacher newJavaTeacher teacher setName 李芳 teacher setAge 23 teacher setEducation 本科 System out println teacher introduction 要简化对象初始化的代码 可以通过构造方法来解决 大家好 我是李芳 我今年23岁 学历本科 JavaTeacher中有太多的属性及对应的setter方法 在初始化时 很容易就忘记了 有没有可能简化对象初始化的代码 什么是构造方法 构造方法负责对象成员的初始化工作为实例变量赋予合适的初始值构造方法必须满足以下语法规则 1 方法名与类名相同2 没有返回类型 publicclassJavaTeacher privateStringname 教员姓名 构造方法publicJavaTeacher name 无名氏 publicclassJavaTeacherTest publicstaticvoidmain String args JavaTeacherteacher newJavaTeacher 使用new关键字调用构造方法 通过带参数的构造方法 显式地为实例变量赋予初始值 publicclassJavaTeacher privateStringname 教员姓名privateintage 年龄privateStringeducation 学历privateStringposition 职位 带参数的构造方法publicJavaTeacher StringpName intpAge StringpEducation StringpPosition name pName age pAge education pEducation position pPosition publicStringintroduction return 大家好 我是 name 我今年 age 岁 学历 education 目前职位是 position 带参数的构造方法 通过调用带参数的构造方法 简化对象初始化的代码 publicclassJavaTeacherTest publicstaticvoidmain String args JavaTeacherteacher newJavaTeacher 李芳 23 本科 咨询师 System out println teacher introduction 创建对象时 一并完成了对象成员的初始化工作 大家好 我是李芳 我今年23岁 学历本科 目前职位是咨询师 构造函数规则 构造函数能够使用任何访问控制符 包括private构造函数名称必须与类名匹配构造函数一定不能有返回类型普通方法名可以和类名相同如果在类代码中不键入构造函数 编译器将自动生成默认构造函数默认构造函数总是无参的构造函数 构造函数规则 如果在类代码中键入了带变元的构造函数 则就不会存在无变元构造函数 除非重新键入无变元的构造函数每个构造函数都必须把this super 作为第一条语句super 的调用可以是无变元的 也可以是有变元的抽象类具有构造函数接口没有构造函数调用构造函数的唯一方法是从另一个构造函数内部进行调用 生活中的方法重载 类 方法 方法参数 方法实现 司机 轿车 巴士 火车 驾驶 启动 行驶 等待乘客上车 启动 行驶 到站停车 正点发车 行驶 到站停车 如果用代码实现 我们需要三个方法 这些方法的方法名称相同 参数类型不同 方法重载java io PrintStream类的println方法能够打印数据并换行 根据数据类型的不同 有多种实现方式 publicclassTest publicstaticvoidmain String args inti 0 charc z Stringstr hello System out println i System out println c System out println str PrintStream println int println char println String 方法名相同 参数类型不同 调用不同的println方法 方法重载 java lang Math类的max 方法能够从两个数字中取出最大值 它有多种实现方式运行时 Java虚拟机先判断给定参数的类型 然后决定到底执行哪个max 方法 publicclassTest publicstaticvoidmain String args Math max 1 2 Math max 1 0F 2 F Math max 1 0 2 方法重载 构造方法重载2 1 构造方法重载是方法重载的典型示例 publicclassJavaTeacher privateStringname 教员姓名privateStringschool 北京中心 所在中心publicJavaTeacher Stringname this name name 设定教员姓名 publicJavaTeacher Stringname Stringschool this name name 设定教员姓名this school school 设定教员的所在中心 publicStringintroduction return 大家好 我是 school 的 name 构造方法重载 构造方法重载2 2 通过调用不同的构造方法来表达对象的多种初始化行为默认情况下 教师来自北京中心 初始化时 只需提供教员姓名有时 需要提供所在中心名称及教员姓名 publicclassJavaTeacherTest publicstaticvoidmain String args JavaTeacherteacher1 newJavaTeacher 李芳 System out println teacher1 introduction JavaTeacherteacher2 newJavaTeacher 张欣 天津中心 System out println teacher2 introduction 大家好 我是北京中心的李芳大家好 我是天津中心的张欣 给定如下Java代码 请指出代码中的错误 并解释原因 publicclassSample privateintx publicSample x 1 publicSamp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 轻度认知障碍护理查房
- 防艾半年工作总结
- 2025至2030中国移民服务行业项目调研及市场前景预测评估报告
- 英语神经病学教学课件
- 消防安全月培训简报课件
- 2025至2030中国生物农业行业发展分析及投资风险预警与发展策略报告
- 高端别墅买卖合同及配套服务协议
- 离婚协议生效后房产过户及租金分配合同
- 监护人协议书编制与执行过程中的法律风险分析与防范
- 华住集团店长晋升述职报告
- 油漆经营安全培训
- 可爱的中国课件小学
- 个人所得税政策课件
- 中医的起源和历史
- 工程公司招采管理制度
- 大学生职业规划大赛《光电信息科学与工程专业》生涯发展展示
- 城西(蒋村)污水处理厂二期工程环评报告
- 特斯拉MODEL Y用户手册
- 轨道几何形位参数轨距课件
- 临床麻醉学笔记
- 造影剂外渗的个案护理
评论
0/150
提交评论