Java语言程序设计基础教程课件(第4章)PPT推荐.ppt
- 文档编号:15590702
- 上传时间:2022-11-06
- 格式:PPT
- 页数:54
- 大小:148.50KB
Java语言程序设计基础教程课件(第4章)PPT推荐.ppt
《Java语言程序设计基础教程课件(第4章)PPT推荐.ppt》由会员分享,可在线阅读,更多相关《Java语言程序设计基础教程课件(第4章)PPT推荐.ppt(54页珍藏版)》请在冰豆网上搜索。
被继承的类叫被继承的类叫被继承的类叫被继承的类叫超类超类超类超类(superclasssuperclass),继承超类),继承超类),继承超类),继承超类的类叫的类叫的类叫的类叫子类子类子类子类(subclasssubclass)。
)。
子类不能继承父类中访问权限为子类不能继承父类中访问权限为子类不能继承父类中访问权限为子类不能继承父类中访问权限为privateprivate的成员的成员的成员的成员变量和方法。
子类可以重写父类的方法,及命变量和方法。
子类可以重写父类的方法,及命名与父类同名的成员变量。
名与父类同名的成员变量。
JavaJava不支持多重继承,即一个类从多个超类派不支持多重继承,即一个类从多个超类派不支持多重继承,即一个类从多个超类派不支持多重继承,即一个类从多个超类派生的能力。
生的能力。
通过继承可实现代码复用。
JavaJava中所有的类都中所有的类都中所有的类都中所有的类都是通过直接或间接地继承是通过直接或间接地继承是通过直接或间接地继承是通过直接或间接地继承java.lang.Objectjava.lang.Object类得类得类得类得到的到的到的到的4.1.1子类子类继承一个类,要用继承一个类,要用extends关键字指定要关键字指定要继承的父类。
继承的父类。
创建子类的一般格式为:
classclassSubClassSubClassextendsextendsSuperClassSuperClassclassStudentsextendsPeople4.1.2子类的继承子类的继承子类通过隐藏父类的成员变量和重写父类子类通过隐藏父类的成员变量和重写父类的方法,可以把父类的状态和行为改变为的方法,可以把父类的状态和行为改变为自身的状态和行为。
例如:
自身的状态和行为。
classclassSuperClassSuperClassintintx;
x;
voidvoidsetXsetX()()x=0;
x=0;
classclassSubClassSubClassextendsextendsSuperClassSuperClassintintx;
voidvoidsetXsetX()()x=5;
x=5;
隐藏了父类同名成员变量隐藏了父类同名成员变量重写了父类的同名同参方法重写了父类的同名同参方法思考思考思考思考:
11、在定义一个类中、在定义一个类中、在定义一个类中、在定义一个类中,当局部变量和成员变量同名时当局部变量和成员变量同名时当局部变量和成员变量同名时当局部变量和成员变量同名时,会怎么样会怎么样会怎么样会怎么样?
如何使用同名成员变量如何使用同名成员变量如何使用同名成员变量如何使用同名成员变量?
22、在定义一个类中、在定义一个类中、在定义一个类中、在定义一个类中,多次定义同名不同参的方法时多次定义同名不同参的方法时多次定义同名不同参的方法时多次定义同名不同参的方法时,会怎么样会怎么样会怎么样会怎么样?
在这些方法中,如何使用前面被定义的在这些方法中,如何使用前面被定义的在这些方法中,如何使用前面被定义的在这些方法中,如何使用前面被定义的同名不同参的方法?
同名不同参的方法?
22、在定义一个子类时,当子类定义了和父类同名、在定义一个子类时,当子类定义了和父类同名、在定义一个子类时,当子类定义了和父类同名、在定义一个子类时,当子类定义了和父类同名的成员变量和方法时,会怎么样?
如何使用父类中的成员变量和方法时,会怎么样?
如何使用父类中同名的成员变量和方法?
同名的成员变量和方法?
方法重写及重写规则方法重写及重写规则子类定义了和父类同名、同参、同返回类型的方子类定义了和父类同名、同参、同返回类型的方子类定义了和父类同名、同参、同返回类型的方子类定义了和父类同名、同参、同返回类型的方法,称为法,称为法,称为法,称为子类重写了父类的方法子类重写了父类的方法子类重写了父类的方法子类重写了父类的方法规则规则规则规则:
子方法的子方法的子方法的子方法的名称名称名称名称、参数类型及顺序参数类型及顺序参数类型及顺序参数类型及顺序、返回类型返回类型返回类型返回类型必须与重写方法相同必须与重写方法相同必须与重写方法相同必须与重写方法相同不能降低的重写方法的不能降低的重写方法的不能降低的重写方法的不能降低的重写方法的访问性访问性访问性访问性不能比重写方法抛出更多的不能比重写方法抛出更多的不能比重写方法抛出更多的不能比重写方法抛出更多的异常异常异常异常4.1.3super关键字关键字关键字关键字关键字关键字supersuper表示父类对象。
表示父类对象。
在子类中使用在子类中使用在子类中使用在子类中使用supersuper做前缀可以引用被子类隐藏做前缀可以引用被子类隐藏做前缀可以引用被子类隐藏做前缀可以引用被子类隐藏的父类变量或被子类重写的父类方法的父类变量或被子类重写的父类方法的父类变量或被子类重写的父类方法的父类变量或被子类重写的父类方法子类不能继承父类的构造方法子类不能继承父类的构造方法子类不能继承父类的构造方法子类不能继承父类的构造方法,但在子类可用,但在子类可用,但在子类可用,但在子类可用supersuper关键字调用父类的构造方法。
此时必须是关键字调用父类的构造方法。
此时必须是方法体中第一条语句。
方法体中第一条语句。
1Super的使用方法访问父类被隐藏的成员变量访问父类被隐藏的成员变量访问父类被隐藏的成员变量访问父类被隐藏的成员变量super.variablesuper.variable;
调用父类中被重写的方法调用父类中被重写的方法调用父类中被重写的方法调用父类中被重写的方法super.Method(paramlistsuper.Method(paramlist);
);
在子类的构造方法中,在子类的构造方法中,在子类的构造方法中,在子类的构造方法中,调用父类的构造方法调用父类的构造方法调用父类的构造方法调用父类的构造方法super(paramlistsuper(paramlist);
P86P86【例例例例4-24-2】P87【例例4-3】利用利用supers操作父类操作父类的构造方法。
的构造方法。
若子类在定义构造方法中,没有使用若子类在定义构造方法中,没有使用若子类在定义构造方法中,没有使用若子类在定义构造方法中,没有使用supersuper调用调用调用调用父类的某个构造方法,则系统默认有父类的某个构造方法,则系统默认有父类的某个构造方法,则系统默认有父类的某个构造方法,则系统默认有“super()”super()”,即调用父类不带参数的构造方法,即调用父类不带参数的构造方法,即调用父类不带参数的构造方法,即调用父类不带参数的构造方法,产生一个调用父类构造函数的数据链产生一个调用父类构造函数的数据链产生一个调用父类构造函数的数据链产生一个调用父类构造函数的数据链。
最终发。
最终发生的是生的是生的是生的是父类构造函数(可能几个)将在链中的任父类构造函数(可能几个)将在链中的任父类构造函数(可能几个)将在链中的任父类构造函数(可能几个)将在链中的任何子类构造函数前执行何子类构造函数前执行何子类构造函数前执行何子类构造函数前执行。
JavaJava规定如果在一个类中含有一个或多个构造规定如果在一个类中含有一个或多个构造规定如果在一个类中含有一个或多个构造规定如果在一个类中含有一个或多个构造方法,系统不提供默认的构造方法(不含参数的方法,系统不提供默认的构造方法(不含参数的方法,系统不提供默认的构造方法(不含参数的方法,系统不提供默认的构造方法(不含参数的构造方法),所以当在父类中定义了多个构造方构造方法),所以当在父类中定义了多个构造方构造方法),所以当在父类中定义了多个构造方构造方法),所以当在父类中定义了多个构造方法时,应考虑包括一个不带参数的构造方法,以法时,应考虑包括一个不带参数的构造方法,以法时,应考虑包括一个不带参数的构造方法,以法时,应考虑包括一个不带参数的构造方法,以防止子类省略防止子类省略防止子类省略防止子类省略supersuper关键字时出现错误。
关键字时出现错误。
对象的上转型对象对象的上转型对象假设假设假设假设BBBB类是类是类是类是AAAA类子类或间接子类,当我们用子类类子类或间接子类,当我们用子类类子类或间接子类,当我们用子类类子类或间接子类,当我们用子类BBBB创建一个对象,并把这个对象的引用赋值给创建一个对象,并把这个对象的引用赋值给创建一个对象,并把这个对象的引用赋值给创建一个对象,并把这个对象的引用赋值给AAAA类类类类的对象时的对象时的对象时的对象时:
Aa;
Bb=newB();
a=b;
称这个称这个称这个称这个AAAA类对象:
类对象:
aaaa,是子类对象,是子类对象,是子类对象,是子类对象bbbb的上转型对象的上转型对象的上转型对象的上转型对象Aa=newB();
对象的上转型对象的实体是子类负责创建对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原子类对象的一的,但上转型对象会失去原子类对象的一些属性和功能。
些属性和功能。
对象的上转型对象对象的上转型对象子类对象子类对象子类新增的变量子类新增的变量子类新增的方法子类新增的方法子类重写或继承的变量子类重写或继承的变量子类重写或继承的方法子类重写或继承的方法如果子类重写了父类的某个方法后,对象的上转如果子类重写了父类的某个方法后,对象的上转如果子类重写了父类的某个方法后,对象的上转如果子类重写了父类的某个方法后,对象的上转型对象调用这个方法时,型对象调用这个方法时,型对象调用这个方法时,型对象调用这个方法时,一定是调用了子类重写一定是调用了子类重写一定是调用了子类重写一定是调用了子类重写的方法的方法的方法的方法。
可以将对象的上转型对象再强制转换到原子类对可以将对象的上转型对象再强制转换到原子类对可以将对象的上转型对象再强制转换到原子类对可以将对象的上转型对象再强制转换到原子类对象象象象(下转换对象下转换对象下转换对象下转换对象),这时,该子类对象又具备了,这时,该子类对象又具备了,这时,该子类对象又具备了,这时,该子类对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言程序设计 基础教程 课件