版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、教师:班级: 第11讲 类的方法回顾 1.成员的访问权限有哪些? 当一个成员被声明为 时,所有其他类,无论是属于哪个包,都可以访问该成员; 当一个成员被声明为 时,不能被该成员所在类之外的任何类中代码访问; 当一个成员没有任何访问限制修饰符时,其只包内的类是可见的; 当一个类被声明为 时,只对包内的类可见,包外的类可通过继承访问该成员。2.类的两大组成要素是什么?属性、方法3.类命名规则publicprivateprotectdefault类命名规则:类命名规则:1、不能使用、不能使用Java关键字关键字2、首字母可以为字母,也可以是、首字母可以为字母,也可以是“_”或或“$ ”(建议不要这样
2、建议不要这样)3、不能包含空格或、不能包含空格或“.”号号本章任务以OO方式:计算并显示总成绩计算并显示平均成绩 理解变量作用域会定义和使用类的方法理解类的构造方法理解变量作用域本章目标类的方法写出狮子对象的“跑”方法写出狮子对象的“叫”方法 电动玩具狮子属性:颜色:黄色行为:跑叫按此按钮,按此按钮,狮子开始跑狮子开始跑类的方法示例public class AutoLion String color = 黄色黄色; public void run() System.out.println(正在以正在以0.1米米/秒的速度向前奔跑秒的速度向前奔跑); public String bark() S
3、tring sound = 吼吼 ; return sound; AutoLion类代码实现方法名称方法名称方法体方法体返回类型返回类型访问类型访问类型如何定义类的方法类的方法定义类的某种行为(或功能)方法的定义方法的定义 方法的名称方法的名称 方法的主体方法的主体方法返回的数据类型方法返回的数据类型 定义类的方法定义类的方法public 返回值类型返回值类型 方法名方法名() /这里编写方法的主体这里编写方法的主体方法的访问类型方法的访问类型1234方法的命名如何给方法起名字? 只能以字母、_或开头 可以包括数字,但不能以它开头遵循的命名规范 通常方法名是一个动词,如果有两个以上单词组成,第
4、一个单词的首字母小写,其后单词首字母大写方法的返回值两种情况如果方法具有返回值,方法中必须使用关键字return返回该值,返回类型为该返回值的类型如果方法没有返回值,返回类型为voidpublic class Student String name = 张三张三; public void getName() return name; 返回类型要匹配返回类型要匹配return 表达式;表达式;编译错误编译错误常见错误2-1public class School public static void main(String args) return “苏州工业职业技术学院!苏州工业职业技术学院!
5、; 返回类型是返回类型是void方法中不能有返回值方法中不能有返回值 常见错误2-2public class Student public double getInfo() double weight = 95.5; double height = 1.69; return weight, height; 方法至多可以返回一个值,不方法至多可以返回一个值,不能返回多个值能返回多个值方法调用方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果方法调用:执行方法中包含的语句 对象名对象名.方法名()方法名();小明过生日,爸爸送他一个电动狮子玩具,编程测试这个狮子能否正常工作方法调用 pub
6、lic class AutoLion String color = 黄色黄色; public void run() /方法方法1:跑:跑 System.out.println(正在以正在以0.1米米/秒的速度向前奔跑。秒的速度向前奔跑。); public String bark() /方法方法2:叫:叫 String sound = 吼吼 ; return sound; public String getColor() /方法方法3:获得颜色属性:获得颜色属性 return color; public String showLion() /方法方法4:描述狮子特性:描述狮子特性 return
7、这是一个这是一个 + getColor() + 的玩具狮子的玩具狮子! ; public class LionTest public static void main(String args) AutoLion lion = new AutoLion(); System.out.println(lion.showLion(); lion.run(); System.out.println(lion.bark(); 在类的方法中调用在类的方法中调用该类另一个方法该类另一个方法在在main()方法中调用类的方法方法中调用类的方法 必需先创建对象必需先创建对象 方法调用小结方法之间允许相互调用,不需
8、要知道方法的具体实现,提高了效率 情况举例1、同一个类中方法的互相调用直接调用public void a() b(); /调用b() 2、不同类中的方法调用先创建类对象,然后使用“.”调用public void a() Teacher t = new Teacher(); t.b(); /调用Teacher类的b() public class Test public static void main(String args) Scanner input = new Scanner(System.in);int a = input.nextInt();14听风学堂方法调用案例编写成绩计算类(Sc
9、oreCalc)编写测试类成绩计算类属性:属性:3门成绩(Java、C#、DB)方法:方法:计算平均成绩显示平均成绩计算总成绩显示总成绩成绩计算类成绩计算类测试类测试类编程实践编写手机类(Phone):它可以下载音乐,可以播放这些音乐,可以进行充电编写电池类(Cell):自动续电编写测试类(Test)手机类行为:播放下载的音乐下载充电电池类属性:品牌行为:续电手机类手机类电池类电池类测试类测试类手机的手机的“充电充电”方法是通过调用方法是通过调用电池的电池的“续电续电”方法实现的方法实现的编程实践编写手机类(Phone):它可以下载音乐,可以播放这些音乐,可以进行充电编写电池类(Cell):自
10、动续电编写测试类(Test)手机类手机类电池类电池类测试类测试类手机类手机类属性:无方法:play()显示“播放”,调用下载音乐下载音乐方法downloadMusic() 返回下载的音乐名称chargeCell()充电,调用Cell类的续电续电方法电池类电池类属性:brand品牌方法:getPower()“续电”方法,显示充电信息手机测试类测试手机的播放音乐和充电方法构造方法(构造函数)构造方法是一种特殊的方法。构造方法的名字和所存在的类是一样的;构造方法没有返回类型;主要作用:完成对象的初始化;当创建对象时被调用。Phone Student= ;newStudent()public Stud
11、ent() = “张三”; this.age = 18;初始化属性123构造方法(构造函数)不带参数的构造方法带参数的构造方法public Student() = “张三”; this.age = 18;public Student(String name, int age) = name; this.age = age;Student stu1 = new Student();Student stu2 = new Student(“张三”,18);变量作用域3-1public class AutoLion String color
12、= 黄色黄色; public void run() /方法方法1:跑:跑 System.out.println(正在以正在以0.1米米/秒的速度向前奔跑。秒的速度向前奔跑。); public String bark() /方法方法2:叫:叫 String sound = 吼吼 ; return sound; public String getColor() /方法方法3:获得颜色属性:获得颜色属性 return color ; public String showLion() /方法方法4:输出类的描述信息:输出类的描述信息 return 这是一个这是一个 + getColor() + 的玩具
13、狮子的玩具狮子!叫声是叫声是 + sound ; 可以使用吗?可以使用吗?变量作用域3-2变量声明的位置决定变量作用域变量作用域确定可在程序中按变量名访问该变量的区域for(int i = 0, a = 0; i 4; i+) a+;System.out.println(a);a的作用域仅在的作用域仅在for循环中循环中 代码错误代码错误变量作用域3-3类型类型1 变量变量1; 类型类型2 变量变量2;类型类型3 变量变量3;public 返回类型返回类型 方法方法1() 类型类型4 变量变量4;public 返回类型返回类型 方法方法2() 类型类型 5 变量变量5; public clas
14、s AutoLion AutoLion类的方法类的方法别的类的方法别的类的方法 谁能使用这些变量?谁能使用这些变量? 方法方法1 方法方法2 成员变量成员变量 局部变量局部变量 局部变量局部变量 面向对象的编程思维ScoreCalc类 和 Test类public static void main(String args) Scanner input = new Scanner(System.in); System.out.print(请输入请输入Java成绩:成绩:); int java = input.nextInt(); /*计算并显示输出计算并显示输出*/ int total = java + c + db; double avg = total / 3; System.out.print(总成绩:总成绩: + total); System.out.print(n平均分平均分: + avg);一次还可以接受,如果一次还可以接受,如果还要再执行这个功能,还要再执行这个功能,难道还要重复再写?难道还要重复再写?calcDiffTimecalcTotalScore()ScoreCalcshowTotalScore()calcAvg()showAvg() main() /程序入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026秋招:荣耀题库及答案
- 2026年四川托普信息技术职业学院单招职业技能考试题库含答案详解(b卷)
- 2026年四川文化艺术学院单招综合素质考试题库带答案详解
- 2026年四川文化艺术学院单招职业倾向性考试题库含答案详解(培优b卷)
- 2026年吉林司法警官职业学院单招职业倾向性考试题库附答案详解(a卷)
- 2026年四川应用技术职业学院单招综合素质考试题库含答案详解(典型题)
- 2026年四川文化艺术学院单招职业倾向性考试题库附参考答案详解(综合题)
- 2026年嘉兴南洋职业技术学院单招职业倾向性考试题库及答案详解(典优)
- 2026年周口职业技术学院单招职业技能考试题库及答案详解(真题汇编)
- 2026年厦门南洋职业学院单招职业技能测试题库含答案详解(b卷)
- GB/T 9944-2025不锈钢丝绳
- 鱼腥草种植课件
- 电子物料基础知识培训课件
- 气候变化与健康课件
- 全面从严治团+筑牢团纪意识+高一下学期学习《中国共产主义青年团纪律处分条例(试行)》主题团课
- 全国中职班主任基本功大赛笔试试题及答案
- 冠心病介入治疗的新进展讲课件
- 高等数学 课件全套 第1-9章 函数、极限、连续 -无极穷数
- T/CECS 10326-2023智慧社区大数据平台技术要求
- 【海尔集团财务共享服务中心建设研究7900字(论文)】
- 修祠堂资金管理制度
评论
0/150
提交评论