欢迎来到天天文库
浏览记录
ID:59207445
大小:525.50 KB
页数:71页
时间:2020-09-26
《第4章高级类特性ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章高级类特性1JavaSE知识图解JAVA发展历程JAVA环境搭建基础程序设计数据类型流程控制运算符数组面向对象编程类和对象属性方法设计模式接口三大特性应用程序开发JDBC集合异常处理类库多线程IO反射网络连接OracleJAVA新特性Eclipse使用泛型枚举装箱/拆箱可变参数Annotation本章内容4.1面向对象特征之二:继承4.2方法的重写(override)4.3四种访问权限修饰符4.4关键字super4.5子类对象实例化过程4.6面向对象特征之三:多态4.7Object类、包装类4.1面向对象特征之二:
2、继承为描述和处理个人信息,定义类Person:publicclassPerson{publicStringname;publicintage;publicDatebirthDate;publicStringgetInfo(){...}}Person+name:String+age:int+birthDate:Date+getInfo():String继承(1)为描述和处理学生信息,定义类Student:publicclassStudent{publicStringname;publicintage;publicDateb
3、irthDate;publicStringschool;publicStringgetInfo(){...}}Student+name:String+age:int+birthDate:Date+school:String+getInfo():StringStudent类Worker类Teacher类Person类通过类的继承Farmer类特有的代码特有的代码特有的代码特有的代码学生类教师类工人类农民类人类通过继承的方式实现继承(2)通过继承,简化Student类的定义:publicclassPerson{publicS
4、tringname;publicintage;publicDatebirthDate;publicStringgetInfo(){...}}publicclassStudentextendsPerson{publicStringschool;}//Student类继承了父类Person的所有属性和方法,并增加了一个属性school。Person中的属性和方法,Student都可以利用。Person+name:String+age:int+birthDate:Date+getInfo():StringStudent+sch
5、ool:String为什么要有继承?多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。此处的多个类称为子类,单独的这个类称为父类(基类或超类)。可以理解为:“子类isa父类”类继承语法规则:classSubclassextendsSuperclass{}继承(3)继承(4)作用:继承的出现提高了代码的复用性。继承的出现让类与类之间产生了关系,提供了多态的前提。不要仅为了获取其他类中某个功能而去继承类的继承(5)子类继承了父类,就继承了父类的方法和属性。在子
6、类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法。在Java中,继承的关键字用的是“extends”,即子类不是父类的子集,而是对父类的“扩展”。关于继承的规则:子类不能直接访问父类中私有的(private)的成员变量和方法。单继承举例Person+name:String+age:int+birthDate:Date+getInfo():StringStudent+school:StringSoldierOfficerGraduate+major:String+register():voidsupercla
7、sssubclasssubsubclass类的继承(6)Java只支持单继承,不允许多重继承一个子类只能有一个父类一个父类可以派生出多个子类classSubDemoextendsDemo{}//okclassSubDemoextendsDemo1,Demo2...//error多重继承多层继承练习11.(1)定义一个ManKind类,包括成员变量intsex和intsalary;方法voidmanOrWorman():根据sex的值显示“man”(sex==1)或者“women”(sex==0);方法voidemploy
8、eed():根据salary的值显示“nojob”(salary==0)或者“job”(salary!=0)。(2)定义类Kids继承ManKind,并包括成员变量intyearsOld;方法printAge()打印yearsOld的值。(3)在Kids类的main方法中实例化Kids的对象someKid,用该对象访
此文档下载收益归作者所有