- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]第5章 继承、接口与泛型
第5章 继承、接口与泛型 ?本章导读 1. 子类与父类 2. 子类的继承性 3. 子类对象的构造过程 4. 成员变量隐藏和方法的重写 5. super关键字 6. final类与final方法 7. 对象的上转型对象 第5章 继承、接口与泛型 8. 继承与多态 9. 使用abstract类 10.面向对象 11.接口 12.接口回调 13.面向接口 14.抽象类和接口的比较 第5章 继承、接口与泛型 15.内部类 16.匿名类 17.异常类 18.泛型类 5.1 子类与父类 上一章我们主要学习了类和对象的有关知识,讨论了类的构成以及用类创建对象等主要问题,本章的主要介绍类的继承、和继承有关的多态性以及接口等重要概念。本章还初步介绍了SDK1.5新推出的泛型。 子类与父类 继承是一种由已有的类创建新类的机制。利用继承,我们可以先创建一个共有属性的一般类,根据该一般类再创建具有特殊属性的新类,新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为。由继承而得到的类称为子类,被继承的类称为父类(超类)。 5.1 子类与父类 父类可以是自己编写的类也可以是java类库中的类。利用继承有利于实现代码的重复使用,子类只需要添加新的功能代码即可。Java不支持多重继承,即子类只能有一个父类。 使用关键字extends来声明一个类是另外一个类的子类,格式如下: class 父类 // 定义父类 { } class 子类extends 父类 // 用extends关键字实现类的继承 { } 5.2 子类的继承性 1.继承的定义 所谓类继承就是子类继承父类的成员变量和方法作为自己的成员变量和方法,就好象它们是在子类中直接声明一样。当然,子类能否继承父类的变量和方法还有一定的限制。下面对其进行详细介绍。 2.子类和父类在同一包中的继承性 如果子类和父类在同一个包中,那么子类自然地继承了其父类中不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private的方法作为自己的方法。继承的成员变量以及方法的访问权限保持不变。 class Person{ String name ; int age ; } class Student extends Person{ String school ; } public class jicheng { public static void main(String[] args) { Student s = new Student() ; // 访问Person类中的name属性 s.name = 张三 ; // 访问Person类中的age属性 s.age = 25 ; // 访问Student类中的school属性 s.school = 北京 ; System.out.println(姓名:+s.name+,年龄:+s.age+,学校:+s.school) ; } } 5.2 子类的继承性 下面我们看一个例子。 程序的运行结果见下图 5.2 子类的继承性 3.子类和父类不在同一包中的继承性 如果子类和父类不在同一个包中,那么子类只能继承父类的protected、public成员变量和方法,继承的成员或方法的访问权限不变。如果子类和父类不在同一个包里,子类不能继承父类的友好变量和友好方法。 注意: 在java中只允许单继承,而不允许多重继承,也就是说一个子类只能有一个父类,但是java中却允许多层继承。 多重继承: class A{} class B{} class C extends A,B{} 由上面可以发现类C同时继承 了类A与类B,也就是说C类同时 继承了两个父类,这在JAVA中 是不允许的。 多层继承: class A {} class B extends A {} class C extends B {} 由上面可以发现类B继承了 类A,而类C又继承了类B,也 就是说类B是类A的子类,而 类C则是类A的孙子类。 5.3 子类对象的构造过程 当用子类的构造方法创建一个子类的对象时,子类的构造方法总是先调用父类的某个构造方法,如果子类的构造方法没有指明使用父类的哪个构造方法,子类就调用父类的不带参数的构造方法。因此,我们可以这样来理解子
文档评论(0)