- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 继承、多态与接口;本章学习目标:;当一个类拥有另一个类的数据和操作时,就称这两个类之间具有继承关系,被继承的类称为父类或超类,继承的类称为子类。
一个父类可以同时拥有多个子类,该父类实际上是所有子类的公共成员变量和公共方法的集合,而子类是父类的特殊化,可对公共成员变量和方法在功能、内涵方面加以扩展和延伸。
;面向对象的继承特性中,还有一个关于单继承和多继承的概念。
单继承是指任何类都只有一个父类。
多继承是指一个类可以有一个以上的父类,它静态数据和操作从所有这些父类中继承的。
Java只支持单重继承,但支持界面(interface),一个类可以实现多个界面。利用界面可以得到多继承的优点,又没有多继承混乱、复杂的问题。 ;Java继承:创建子类;【例】应用继承性的实例。
class Student{ //自定义“学生”类
int stu_id; //定义属性:学生学号
void set_id(int id){ //定义方法:设置学号
stu_id=id; }
void show_id(){ //定义方法:显示学号
System.out.println(the student ID is:+stu_id); }
}
class UniversityStudent extends Student{ //定义子类
int dep_number; //定义子类特有的属性变量
void set_dep(int dep_num){ //定义子类特有的方法
dep_number=dep_num; }
void show_dep( ){
System.out.println(the dep_number is:+dep_number);
}
public static void main(String args[]){
UniversityStudent Lee=new UniversityStudent();
Lee.set_id(2007070130); //继承父类学生的属性
Lee.set_dep(701); //使用本类的属性
Lee.show_id(); //继承父类学生的方法
Lee.show_dep(); //使用本类的方法
}
} ;成员变量的隐藏和方法的覆盖;【例】成员变量的隐藏和方法的覆盖示例。
class SuperClass{
int x;
……
void setX( ){
x=0;
}
……
}
?
class SubClass extends SuperClass{
int x; //成员变量的隐藏
……
void setX( ){ //方法的覆盖
x=5;
}
……
} ;方法的覆盖与成员变量的隐藏的区别为:
子类隐藏父类的成员变量只是使之不可见,??类的同名成员变量在子类对象中仍然占有自己独立的内存空间;
而子类方法对父类同名方法的覆盖将清除父类方法占用的内存,从而使父类方法在子类对象中不存在。
方法的覆盖与成员变量的隐藏的意义:将父类行为和状态改为自身的行为和状态,对外仍保持统一的接口和名字,不失继承性。;super ;多态性;多态性是指同名的不同方法在程序中共存。
即为同一个方法定义几个版本,运行时根据不同情况执行不同的版本。调用者只需使用同一个方法名,系统会根据不同情况,调用相应的不同方法,从而实现不同的功能。
在Java语言中,多态性的实现有两种方式:
1、覆盖实现多态性
2、重载实现多态性 ;1、覆盖实现多态性;重写方法的调用规则
对于重写的方法,Java运行时系统根据调用该方法的实例的类型来决定选择哪个方法调用。对于类的一个实例,如果子类重写了父类的方法,则运行时系统调用子类的方法。如果子类继承了父类的方法(未重),则运行时系统调用父类的方法。因此,一个对象可以通过引用子类的实例来调用于类的方法。
;【例6-5】重写方法的调用规则示例。
class A{
void callme( ){
System.out.println(InsideAscallme( )method);
}
}
?
class B extends A{
void callme( ){
System.out.println(Inside Bs callme( ) method);
}
}
?
public class Dispatch{
public static voi
您可能关注的文档
最近下载
- 期末考试—服务方案策划与评估形考任务二.docx VIP
- 班组劳务分包合作协议.doc VIP
- [山西]2024年山西医科大学第二医院招聘42人笔试历年典型考题及解题思路分析附带答案详解.docx VIP
- 《22G101三维彩色立体图集》.pdf VIP
- 游泳池设计规范.docx
- 【会写生字250字】部编人教版二年级上册语文生字表笔顺练习可打印.doc
- 《JTT695-2007-混凝土桥梁结构表面涂层防腐技术条件》.pdf
- 人教小学生必背古诗75首(带拼音打印版).pdf VIP
- 牛津指导写作的系列oxford-discover-2-Writing-and-Spelling.pdf
- A3微能力点优秀案例汇编.docx VIP
文档评论(0)