欢迎来到天天文库
浏览记录
ID:21955642
大小:967.50 KB
页数:55页
时间:2018-10-21
《面向对象(高级 1)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JAVA语言程序设计第6章:面向对象(高级)——继承的基本实现6402332王联根目标掌握继承的基本概念及实现掌握继承实现的各种限制为什么要有继承?类的继承格式在Java中使用extends关键字完成类的继承关系,操作格式:class父类{}//定义父类class子类extends父类{}//使用extends关键字实现继承继承的实现classPerson{//定义Person类privateStringname;//定义name属性privateintage;//定义age属性publicStringgetName(){//取得name属性returnname;}publicvoid
2、setName(Stringname){//设置name属性this.name=name;}publicintgetAge(){//取得age属性returnage;}publicvoidsetAge(intage){//设置age属性this.age=age;}}classStudentextendsPerson{//Student是Person的子类}通过子类扩展父类的功能classPerson{//定义Person类privateStringname;//定义name属性privateintage;//定义age属性publicStringgetName(){//取得name属性
3、returnname;}publicvoidsetName(Stringname){//设置name属性this.name=name;}publicintgetAge(){//取得age属性returnage;}publicvoidsetAge(intage){//设置age属性this.age=age;}}classStudentextendsPerson{//Student是Person的子类privateStringschool;//新定义的属性schoolpublicStringgetSchool(){//取得school属性returnschool;}publicvoidse
4、tSchool(Stringschool){//设置school属性this.school=school;}}Person与Student的继承关系图继承的限制在Java中只允许单继承,不能使用多重继承,即:一个子类只能继承一个父类。但是允许进行多层继承,即:一个子类可以有一个父类,一个父类还可以有一个父类。多重继承多层继承继承的类图表示访问限制在使用继承的时候也应注意的是:子类是不能直接访问父类中的私有成员和私有方法,但是可以调用父类中的非私有方法。子类访问限制classStudentextendsPerson{//Student是Person的子类publicvoidfun(){S
5、ystem.out.println("父类中的name属性:"+name);//错误,无法访问System.out.println("父类中的age属性:"+age);//错误,无法访问}}下一知识点继承的进一步研究JAVA语言程序设计第6章:面向对象(高级)——继承进阶6402332王联根目标掌握子类对象的实例化过程掌握方法覆写的概念及实现掌握super关键字的作用子类对象实例化过程在继承的操作中,对于子类对象的实例化也是有要求的:“子类对象在实例化之前必须首先调用父类中的构造方法之后再调用子类自己的构造方法”。观察子类对象的实例化过程classPerson{//定义父类Person
6、privateStringname;//定义name属性privateintage;//定义age属性publicPerson(){System.out.println("父类Person中的构造。");//父类的构造方法}setter、getter...}classStudentextendsPerson{//Student是Person的子类,扩展父类的功能privateStringschool;//新定义的属性schoolpublicStudent(){System.out.println("子类Student中的构造。");//子类的构造方法}setter、getter...}
7、publicclassInstanceDemo{publicstaticvoidmain(Stringargs[]){Studentstu=newStudent();stu.setName("张三");//此时访问的方法是父类的,子类中并没有定义stu.setAge(30);//此时访问的方法是父类的,子类中并没有定义stu.setSchool("北京大学");//此方法是子类定义的System.out.println("姓名:"+stu.ge
此文档下载收益归作者所有