P2-1-2学生成绩的运算与处理(类)_第1页
P2-1-2学生成绩的运算与处理(类)_第2页
P2-1-2学生成绩的运算与处理(类)_第3页
P2-1-2学生成绩的运算与处理(类)_第4页
P2-1-2学生成绩的运算与处理(类)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目二

学生成绩管理系统(面向对象实现)Java程序设计(项目式)在学生成绩管理系统中,可以用类来表示学生基本信息,对学生信息的各种处理和运算可以用不同的方法来实现。任务分析5.6类的继承一、子类的定义格式:

[类修饰符]class子类名extends父类名

{......

}如:

classStudentextendsPeople

{......

}注:如果一个类的声明中没有使用extends关键字,则这个类被系统默认为是Object类的直接子类。Object是java.lang包中的类。相关知识与技术二、类成员的继承类有两种重要的成员:成员变量和方法。子类的成员中有一部分是子类自己声明定义的,另一部分是从它的父类继承的。

相关知识与技术二、类成员的继承1.子类继承父类的成员变量:(1)能够继承public和protected成员变量。(2)能够继承同一包中的默认修饰符的成员变量。(3)不能继承private成员变量。(4)如果子类成员变量与超类同名,则不能继承。相关知识与技术二、类成员的继承2.子类继承父类的方法(1)能够继承public和protected方法。(2)能够继承同一包中的默认修饰符的方法。(3)不能继承private方法。(4)不能继承超类的构造方法。如果子类方法与超类方法同名,则不能继承。(被覆盖)相关知识与技术5.7成员变量的隐藏和方法的重写一、成员变量的隐藏如果子类定义的成员变量与从父类继承的成员变量同名,我们就说子类隐藏了父类的成员变量。此时,子类对象访问的是子类重新定义的成员变量。子类方法中访问的也是子类重新定义的这个成员变量。相关知识与技术二、方法的重写如果子类定义的方法与从父类继承的方法从名字、返回类型、参数个数和类型都完全相同,则我们说子类重写了从父类继承的方法。一旦子类重写了从父类继承的方法,那么子类对象调用的一定是这个重写的方法,重写的方法可以操作从父类继承的成员变量也可以操作子类新声明的成员变量。子类重写父类的方法时,不可以降低方法的访问权限。(访问权限的级别从高到低依次为:public、protected、友好的、private)。相关知识与技术5.8super关键字前面讲过,如果子类中定义的成员变量和父类中的成员变量同名时,子类就隐藏了从父类继承的成员变量;当子类中定义了一个方法,并且这个方法的名字、返回类型、参数个数和类型和父类的某个方法完全相同时,子类从父类继承的这个方法将被隐藏,如果想在子类中使用被子类隐藏的成员变量或方法可以使用关键字super。相关知识与技术一、使用关键字super调用父类的构造方法子类不能继承父类的构造方法,如果子类想使用父类的构造方法,必须在子类的构造方法中使用,前面加上关键字super来表示,并且super必须是子类构造方法的第一条语句。注意:若在子类构造方法中,没有使用关键字super调用父类的某个构造方法,那么默认有super();即调用父类的不带参数的构造方法。相关知识与技术二、使用关键字super操作被隐藏的成员变量和方法如果想在子类中使用那些被隐藏了的父类的成员变量或方法就可以使用关键字super。如:super.x、super.f(),使用的就是被子类隐藏的父类的成员变量x和方法f()。相关知识与技术5.9final关键字final关键字可以修饰类、成员变量和方法中的参数。1、final类不能被继承,即不能有子类。2、如果一个成员变量被修饰为final,这个成员变量就是常量,常量必须被赋予初值,而且不能再被赋值。3、如果一个方法被修饰为final,则这个方法不能被重写。4、如果一个方法的参数被修饰为final,则该参数不能被改变。相关知识与技术5.10抽象类用关键字abstract修饰的类称为abstract类(抽象类)。1、abstract类中可以有abstract方法。(也可以没有)abstract方法是指用abstract关键字修饰,没有方法体的方法。

如:

abstractclassA

{abstractintf1(intx,inty);

intf2(intx,inty)

{returnx+y;}

}相关知识与技术5.10抽象类用关键字abstract修饰的类称为abstract类(抽象类)。1、abstract类中可以有abstract方法。(也可以没有)abstract方法是指用abstract关键字修饰,没有方法体的方法。

如:

abstractclassA

{abstractintf1(intx,inty);

intf2(intx,inty)

{returnx+y;}

}相关知识与技术2、abstract类不能用new运算符创建对象,也就是说abstract类不能实例化对象。3、如果一个类是abstract类的子类,它必须实现父类的所有abstract方法,否则它也是abstract类。相关知识与技术5.11接口一、接口的定义接口的定义和类的定义非常相似,Java使用关键字interface定义接口,分为接口声明和接口体。接口体中包含常量定义和方法定义两部分。接口体中只进行方法的声明,不能提供方法的实现,即没有方法体。接口中的所有变量都是publicstaticfinal,所有方法都是publicabstract,无论是否有修饰符修饰它。相关知识与技术一、接口的定义接口示例:

publicinterfacePrintable

{finalintMAX=100;

voidadd();

floatsum(float

x,floaty);

}相关知识与技术二、接口的使用一个类通过使用关键字implements声明自己使用一个或多个接口,如果使用多个接口,用逗号隔开接口名。如:

classAimplementsPrintable如果一个类使用了某个接口,那么这个类必须实现该接口中的所有方法,而且方法的名字、返回类型、参数个数和类型必须与接口中保持完全一致。Java提供的接口都在相应的包中,通过引入包可以使用相应的接口,也可以自己定义接口,一个Java源文件就是由类和接口构成的。相关知识与技术接口声明时,如果关键字interface前面加上public,则称这样的接口是一个public接口,可以被任何一个类使用;如果一个接口不加public修饰,则称为友好接口,友好接口只能被同一个包中的类使用。如果父类使用了某个接口,子类自然也就使用了该接口,子类不必再使用关键字implements声明自己使用这个接口。接口也可以被继承,即可以通过关键字extends声明一个接口是另一个接口的子接口。由于接口中的方法和常量都是public的,子接口将继承父接口中的全部方法和常量。相关知识与技术学生基本信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论