JAVA程序设计模块四类的继承和多态Word下载.docx
- 文档编号:16017886
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:36
- 大小:152.53KB
JAVA程序设计模块四类的继承和多态Word下载.docx
《JAVA程序设计模块四类的继承和多态Word下载.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计模块四类的继承和多态Word下载.docx(36页珍藏版)》请在冰豆网上搜索。
三、教学目的和要求
任务一:
理解继承及其特点
任务二:
任务三:
理解重载与重写的区别
任务四:
任务五:
掌握Java的继承机制
任务六:
掌握final关键字和abstract关键字
四、主要仪器设备
1、笔记本电脑及相应的WindowsOperatingSystems.
2、已安装的JDK7.0和jcreator或MyEclipse软件。
五、教学内容
一、继承的引入
案例演示:
classPerson{
privateStringname;
privateintage;
publicvoidsetName(Stringname){
this.name=name;
}
publicvoidsetAge(intage){
this.age=age;
publicStringgetName(){
returnthis.name;
publicintgetAge(){
returnthis.age;
}
classStudent{
privateStringschool;
publicvoidsetSchool(Stringschool){
this.school=school;
publicStringgetSchool(){
returnthis.school;
说明:
从这样的两个类中可以发现,代码的重复过多,直接从Student类中就可以发现重复的代码。
因为按照以前学习的概念,如果要定义这样的类,则只能采用此种方式。
从实际中可以发现学生是一个人,学生比人多了一个属性,两个方法,也就是所学生要比人的定义更多,那么这个时候就可以使用继承的概念。
二、继承的概念
面向对象程序设计中,在已有类的基础上定义新类,而不需要把已有类的内容重新书写一遍,这就叫做继承。
已有类称为基类或父类,在此基础上建立的新类称为派生类或子类。
继承关系可以描述为:
子类继承了父类或父类被子类继承。
子类与父类建立继承关系后,子类也就拥有了父类的非私有的成员属性和成员方法,同时还可以拥有自己的属性和方法。
三、继承的特点
继承实现方式注解:
1.Java只允许单继承,而不允许多重继承,也就是说一个子类只能有一个父类;
2.如果子类继承了父类,则子类自动具有父类的全部的属性和成员方法(功能),但对于继承过来的私有属性,在子类中只能通过调用父类的共有方法来设置或访问;
3.子类可以定义自己的数据成员和成员函数,同时也可以修改父类的数据成员或重写父类的方法;
4.Java中却允许多层继承。
例如,子类A可以有父类B,父类B同样也可以再拥有父类C。
因此子类都是“相对”的;
5.在Java中,Object类为特殊超类或基类,所有的类都直接或间接地继承Object。
一、继承的实现
继承的英文翻译为inherit,但是由继承定义可以看出子类实际上是扩展了父类,因此Java中继承是通过关键字“extends”来实现的。
关键字“extends”说明要构建一个新类而新类是从一个已经存在的类中衍生出来的。
格式如下:
[修饰符]class子类名[extends父类]
案例演示1:
classPerson{
Stringname;
intage;
charsex;
publicvoidshow(){
System.out.println("
姓名:
"
+name+"
年龄:
+age+"
性别:
+sex);
classStudentextendsPerson{
intsno;
Stringdepartment;
publicclassTestStudent{
publicstaticvoidmain(String[]args){
Studentst=newStudent();
st.name="
张三"
;
st.age=18;
st.sex='
男'
st.sno=201001;
st.department="
软件专业"
st.show();
案例演示2():
};
classStudentextendsPerson{
publicclassExtDemo02{
publicstaticvoidmain(Stringargs[]){
Studentstu=newStudent();
//学生
stu.setName("
);
//从Person继承而来
stu.setAge(30);
//从Person继承而来
+stu.getName());
年龄:
+stu.getAge());
案例演示(子类可以添加自己的属性和行为):
//扩充的属性
publicclassTestStudent{
stu.setSchool("
清华大学"
//自己定义的方法
学校:
+stu.getSchool());
二、构造方法的继承
1、基于父类创建子类时,如果基于子类创建了一个对象,则程序运行时,系统会首先调用父类的无参构造方法,然后才会执行子类的构造方法。
如果希望调用父类的有参构造方法,可使用super关键字。
classPersonA{
Stringname;
//声明两个成员变量
intage;
//无构造方法
publicPersonA(){
this.name="
personname"
this.age=23;
//有参构造方法
publicPersonA(Stringname,intage){
this.name=name;
this.age=age;
//成员方法
publicvoidpprint(){
class:
Person:
+"
Name:
+this.name+"
age:
+this.age);
classStudentAextendsPersonA{
//在派生类中声明自己的成员变量
intclassno;
//声明新的成员变量
//无参构造方法
publicStudentA(){
super("
xyz"
30);
//调用父类的有参构造方法
studentname"
this.age=20;
publicStudentA(Stringname,intage,intclassno){
super(name,age);
this.classno=classno;
//子类的成员方法
publicvoidsprint(){
student:
+this.age
+"
classno:
+this.classno);
父类中的name成员变量"
+super.name);
StudentAobj1=newStudentA();
//调用无参构造方法创建对象
StudentAobj2=newStudentA(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 程序设计 模块 继承
