- 1、本文档共74页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
经典的例子 class Shape { void draw() {}? void erase() {} } class Circle extends Shape { void draw() { System.out.println(Circle.draw()); } void erase() { System.out.println(Circle.erase()); } } class Square extends Shape { void draw() { System.out.println(Square.draw()); } void erase() { System.out.println(Square.erase()); } } class Triangle extends Shape { …….. } class Shapes { public static Shape randShape() { switch ((int) (Math.random() * 3)) { default: // To quiet the compiler case 0: return new Circle(); case 1: return new Square(); case 2: return new Triangle(); } } } public class Test4_18 { public static void main(String[] args) { Shape[] s = new Shape[9]; // Fill up the array with shapes: for (int i = 0; i s.length; i++) s[i] = Shapes.randShape(); // Make polymorphic method calls: for (int i = 0; i s.length; i++) s[i].draw(); }? } 4.4.4 重载 重载(指方法重载)是指在一个类中定义了多个同名的方法,但各个方法的参数个数和参数类型不同,根据不同的参数个数和类型来选择执行不同的方法,修饰符和返回值也可以不同。 方法重载的条件: 方法名相同 参数列表不同,其中包括:参数的个数不同、参数的类型不同、参数类型的顺序不同 构造方法重载 构造方法重载的目的 以不同的方法对类进行初始化。 构造方法的重载与其它方法相同,根据参数列表调用相同的构造方法。 如果找不到相应的构造方法(包括兼容类型)则出错。 小结 4.1 什么是继承 4.2 抽象类与抽象方法 4.3 接口 4.4 多态性 实验:继承和多态 实验6:继承 实验7:抽象类 实验8:多态 BACK 知识点提示: 理解 类继承的概念 抽象类的概念 接口的概念和定义 掌握继承 类继承的语法 类的隐藏和覆盖,以及构造方法的调用 知识点提示: 掌握抽象类 抽象类的定义 掌握接口 接口的定义 接口的继承与多继承 接口的实现方法 多态的体现 End of Chapter 3 * 回顾constructor的特点 缺省构建器 1、与类名相同 2、没有返回类型 3、功能:初始化—分配空间、数据初始化 4、不能显示调用 5、创建对象时,系统自动调用 对象的概念 方法过载 This 的使用 在构建器中的作用 * 涉及到两个类 没cartoon()的情形 * * 没有body 编译后生成几个class文件 public void setName(String name) { = name;// 此处必须指明你要引用成员变量 } public void setAge(int age) { this.age = age; } public void print() { System.out.println(Name= + name + Age= + age);// 在此行中并不需要用this,因为没有会导致混淆的东西 } } super的用法 1 调用被子类隐藏的父类的实例变量 2 调用父类的方法 3 在子类里面调用父类的构造方法 如果不显示的调用则默认的调用父类无参的构造方法如果父类没有无参的构造方法这程序报错 4 父类中定义为private的变量和方法,子类不能继承,使用super也无法访问。 例:super的用法 public class PersonB extends PersonA{ public void print() { System.out.println(DemoSuper:);
文档评论(0)