资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
教师:班级: 第11讲 类的方法回顾 1.成员的访问权限有哪些?当一个成员被声明为 时,所有其他类,无论是属于哪个包,都可以访问该成员;当一个成员被声明为 时,不能被该成员所在类之外的任何类中代码访问;当一个成员没有任何访问限制修饰符时,其只包内的类是可见的;当一个类被声明为 时,只对包内的类可见,包外的类可通过继承访问该成员。2.类的两大组成要素是什么?属性、方法3.类命名规则publicprivateprotectdefault类命名规则:类命名规则:1、不能使用、不能使用Java关键字关键字2、首字母可以为字母,也可以是、首字母可以为字母,也可以是“_”或或“$ ”(建议不要这样建议不要这样)3、不能包含空格或、不能包含空格或“.”号号本章任务以OO方式:计算并显示总成绩计算并显示平均成绩 理解变量作用域会定义和使用类的方法理解类的构造方法理解变量作用域本章目标类的方法写出狮子对象的“跑”方法写出狮子对象的“叫”方法 电动玩具狮子属性:颜色:黄色行为:跑叫按此按钮,按此按钮,狮子开始跑狮子开始跑类的方法示例public class AutoLion String color = 黄色黄色; public void run() System.out.println(正在以米正在以米/秒的速度向前奔跑秒的速度向前奔跑); public String bark() String sound = 吼吼 ; return sound; AutoLion类代码实现方法名称方法名称方法体方法体返回类型返回类型访问类型访问类型如何定义类的方法类的方法定义类的某种行为(或功能)方法的定义方法的定义 方法的名称方法的名称 方法的主体方法的主体方法返回的数据类型方法返回的数据类型 定义类的方法定义类的方法public 返回值类型返回值类型 方法名方法名() /这里编写方法的主体这里编写方法的主体方法的访问类型方法的访问类型1234方法的命名如何给方法起名字?只能以字母、_或开头可以包括数字,但不能以它开头遵循的命名规范通常方法名是一个动词,如果有两个以上单词组成,第一个单词的首字母小写,其后单词首字母大写方法的返回值两种情况如果方法具有返回值,方法中必须使用关键字return返回该值,返回类型为该返回值的类型如果方法没有返回值,返回类型为voidpublic class Student String name = 张三张三; public void getName() return name; 返回类型要匹配返回类型要匹配return 表达式;表达式;编译错误编译错误常见错误2-1public class School public static void main(String args) return “苏州工业职业技术学院!苏州工业职业技术学院! ; 返回类型是返回类型是void方法中不能有返回值方法中不能有返回值 常见错误2-2public class Student public double getInfo() double weight = 95.5; double height = 1.69; return weight, height; 方法至多可以返回一个值,不能方法至多可以返回一个值,不能返回多个值返回多个值方法调用方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果方法调用:执行方法中包含的语句 对象名对象名.方法名()方法名();小明过生日,爸爸送他一个电动狮子玩具,编程测试这个狮子能否正常工作方法调用 public class AutoLion String color = 黄色黄色; public void run() /方法方法1:跑:跑 System.out.println(正在以米正在以米/秒的速度向前奔跑。秒的速度向前奔跑。); public String bark() /方法方法2:叫:叫 String sound = 吼吼 ; return sound; public String getColor() /方法方法3:获得颜色属性:获得颜色属性 return color; public String showLion() /方法方法4:描述狮子特性:描述狮子特性 return 这是一个这是一个 + 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()方法中调用类的方法方法中调用类的方法 必需先创建对象必需先创建对象 方法调用小结方法之间允许相互调用,不需要知道方法的具体实现,提高了效率 public class Test public static void main(String args) Scanner input = new Scanner(System.in);int a = input.nextInt();方法调用案例编写成绩计算类(ScoreCalc)编写测试类成绩计算类成绩计算类测试类测试类编程实践编写手机类(Phone):它可以下载音乐,可以播放这些音乐,可以进行充电编写电池类(Cell):自动续电编写测试类(Test)手机类手机类电池类电池类测试类测试类手机的手机的“充电充电”方法是通过调用方法是通过调用电池的电池的“续电续电”方法实现的方法实现的编程实践编写手机类(Phone):它可以下载音乐,可以播放这些音乐,可以进行充电编写电池类(Cell):自动续电编写测试类(Test)手机类手机类电池类电池类测试类测试类手机测试类测试手机的播放音乐和充电方法构造方法(构造函数)构造方法是一种特殊的方法。构造方法的名字和所存在的类是一样的;构造方法没有返回类型;主要作用:完成对象的初始化;当创建对象时被调用。Phone Student= ;newStudent()public Student() this.name = “张三”; this.age = 18;初始化属性123构造方法(构造函数)不带参数的构造方法带参数的构造方法public Student() this.name = “张三”; this.age = 18;public Student(String name, int age) this.name = name; this.age = age;Student stu1 = new Student();Student stu2 = new Student(“张三”,18);变量作用域3-1public class AutoLion String color = 黄色黄色; public void run() /方法方法1:跑:跑 System.out.println(正在以米正在以米/秒的速度向前奔跑。秒的速度向前奔跑。); public String bark() /方法方法2:叫:叫 String sound = 吼吼 ; return sound; public String getColor() /方法方法3:获得颜色属性:获得颜色属性 return color ; public String showLion() /方法方法4:输出类的描述信息:输出类的描述信息 return 这是一个这是一个 + getColor() + 的玩具狮子的玩具狮子!叫声是叫声是 + 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 class 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() /程序入口程序入口 /计算并输出总成绩计算并输出总成绩 /计算并输出平均分计算并输出平均分 Test调用调用调用调用类的方法实现某个特定的功能,类的方法实现某个特定的功能,别的类不需要知道它如何实现!别的类不需要知道它如何实现!知道了实现此功能的类和它的方法名,知道了实现此功能的类和它的方法名, 就可以直接调用了,不用重复写代码!就可以直接调用了,不用重复写代码! 定义类的方法的步骤是什么?类中的一个方法如何调用类的另一个方法?类中的一个方法如何调用另一个类的方法?总结
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号