- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
单元6面向对象高级;Java语言提供了类的继承、接口和多态三大特性,本单元重点介绍类的继承、方法的重写、Object类、super关键字、final关键字、抽象类、接口、多态和内部类。;教学目标;6.1知识储备–类的继承;继承(inherit)是面向对象重要特性之一,Java中的继承与现实生活中的继承相似,现实生活中子女可以继承父母的财富,可以自己创造财富,同样,Java中的子类继承父类中可继承的属性和方法,子类可添加父类中没有的属性和方法,也可以重写父类中的某些方法,扩展或者强化子类所继承的各项功能。在程序中恰当地使用继承可以大大提高编程效率,减少代码的冗余。在Java中,使用extends关键字声明一个类继承另外一个类,基本语法格式如下:
class父类名{……}
class子类名extends父类名{……}
;在Java类的继承中,需要注意如下几点:
(1)父类也称为超类、基类和派生类。
(2)在Java中的类,只有单继承,没有多继承,即一个子类只能有一个父类,一个父类可以有多个子类。
(3)支持多层次继承,即一个类可以是某个类的子类,也可以是某个类的父类。例如:类A继承类B,类B继承类C。
(4)子类继承父类,可以继承除构造方法外的全部属性和方法,但不能直接访问父类的私有属性和方法。
;【例6-1】创建一个人类(Person),有姓名(name)和年龄(age)两个属性,有吃饭(eat)和睡觉(sleep)两个方法;再创建一个学生类(Student),继承人类,同时添加一学习(Student)方法,通过实例化学生类对象,设置其属性并调用相应的方法。
操作步骤:
(1)新建unit06工程,在工程unit06的src目录下创建包cn.edu.cvit.example01,在包cn.edu.cvit.example01下创建类Example01。
(2)在example01.java文件中,创建Person类和Student类。
(3)编写Example01测试类。
(4)文本编辑器视图中,撰写代码如下:
;Person类代码如下:
packagecn.edu.cvit.example01;
classPerson{ //定义name和age成员变量
privateStringname; //姓名
privateintage; //年龄;publicStringgetName(){ //私有化成员变量的公有化getterandsetter方法
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
};publicstaticvoideat(){ //定义eat方法
System.out.println(吃东西!!!);
}
publicstaticvoidsleep(){ //定义sleep方法
System.out.println(睡觉!!!);
}
};继承Person类的Student类代码如下:
classStudentextendsPerson{
Student(Stringname,intage){ //创建有参构造方法
this.getName();
this.getAge();
}
publicstaticvoidsleep(){ //重写父类中的sleep方法
System.out.println(正在午睡!!!);
}
publicstaticvoidstudy(){ //创建Student类中特有的study方法
System.out.println(学习Java!!!);
}
};测试类代码如下:
publicclassExample01{
publicstaticvoidmain(String[]args){
Studentstu1=newStudent(Tony,19); //实例化一个stu1对象
//调用Student类中的各个方法
stu1.eat();
stu1.s
文档评论(0)