- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
提高大学生政治素养的必要性_48991
第1讲 OO的Java实现(1) 内容回顾 创建一个类Students,属性为name和age,先使用默认构造方法对name和age属性赋值,再使用参数化构造方法,以传递姓名和年龄的值。再定义一个display()方法,同时显示两个属性的值。创建测试类,在测试类中创建两个对象分别用两种构造方法进行初始化,并显示姓名和年龄信息。 教学目标 提出任务 利用方法的重载求圆、长方形、梯形、圆柱的面积 要求:求各个图形的面积方法名称应该一致,例如均为area(),但是参数类型或个数不一致,并要求求面积方法有返回值,在display()方法中输出各面积值。 构造方法 构造方法也称为构造函数,其作用是在创建对象时初始化对象的属性。(带参数和不带参数的构造方法就是一种重载的现象。) 重载3-1 在Java 中,同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。在这种情况下,该方法就被称为重载(overloaded ),这个过程称为方法重载(method overloading )。方法重载是Java 实现多态性的一种方式。 当一个重载方法被调用时,Java 用参数的类型和(或)数量来表明实际调用的重载方法的版本。因此,每个重载方法的参数的类型和(或)数量必须是不同的。虽然每个重载方法可以有不同的返回类型,但返回类型并不足以区分所使用的是哪个方法。当Java 调用一个重载方法时,参数与调用参数匹配的方法被执行。 重载3-2 class OverloadDemo {void test() { System.out.println(No parameters);} // Overload test for one integer parameter. void test(int a) {System.out.println(a: + a);} // Overload test for two integer parameters. void test(int a,int b) { System.out.println(a and b: + a + + b);} // overload test for a double parameter double test(double a) { System.out.println(double a: + a); return a*a; }} 重载3-3 class Overload { public static void main(String args[]) { OverloadDemo ob = new OverloadDemo();double result; ob.test();ob.test(10);ob.test(10,20);result = ob.test(123.25);System.out.println(Result of ob.test(123.25): + result); }} 总结 (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现(2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。(3) 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。 作业2-1 请分析下面的代码,看哪里存在重载? 1、public class Dog { Dog() { this.bark(); } void bark()//bark()方法是重载方法 { System.out.println(\no barking!\); this.bark(\female\, 3.4); } void bark(String m,double l)//注意:重载的方法的返回值都是一样的, { System.out.println(\a barking dog!\); this.bark(5, \China\); } void bark(int a,String n)//不能以返回值区分重载方法,而只能以“参数类型”和“类名”来区分 { System.out.println(\a howling dog\); } public static void main(String[] args) { Dog dog = new Dog(
文档评论(0)