Java课件 09-封装、继承、多态学习资料.ppt
小结阅读代码,说出运行结果classCar{privateintsite=4;//座位数Car(){System.out.println(载客量是+site+人);}publicvoidsetSite(intsite){this.site=site;}voidprint(){System.out.print(载客量是+site+人);}}classBusextendsCar{Bus(intsite){setSite(site);}}publicstaticvoidmain(String[]args){Busbus=newBus(20);bus.print();}载客量是4人载客量是20人方法重写必须满足如下要求:重写方法和被重写方法必须具有相同的方法名;重写方法和被重写方法必须具有相同的参数列表;重写方法的返回值类型必须和被重写方法的返回值类型相同或者是其子类;重写方法的不能缩小被重写方法的访问权限。在子类中可以通过super关键字来访问父类的成员。super必须是出现在子类中(子类的方法和构造方法中),而不是其他位置。是访问父类的成员,例如父类的属性、方法、构造方法。注意访问权限的限制,例如无法通过super访问private成员。*继承条件下构造方法的调用规则如下:如果子类的构造方法中没有通过super显式调用父类的有参构造方法,也没有通过this显式调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法。在这种情况下,写不写“super();”语句,效果是一样的。如果子类的构造方法中通过super显式调用父类的有参构造方法,那将执行父类相应构造方法,而不执行父类无参构造方法。如果子类的构造方法中通过this显式调用自身的其他构造方法,在相应构造方法中应用以上两条规则。特别注意的是,如果存在多级继承关系,在创建一个子类对象时,以上规则会多次向更高一级父类应用,一直到执行顶级父类Object类的无参构造方法为止。*封装、继承、多态回顾如何在类中编写方法?如何创建对象?本节目标掌握构造方法的作用和特点什么是方法重载如何实现类的封装掌握继承的优点和实现掌握子类重写父类方法掌握继承下构造方法的执行过程掌握抽象类和抽象方法的使用掌握final修饰属性、方法和类掌握多态的优势和应用场合掌握父类和子类之间的类型转换使用父类作为方法形参实现多态一个现实世界的问题宠物—现实世界的对象如何在计算机中描述它?从现实中抽象出类分三步:1.找出它的种类2.找出它的属性3.找出它的行为用面向对象描述世界用面向对象的思想描述世界第一步:发现类根据“对象”抽象出“类”classDog{}名词各个狗对象用面向对象描述世界第二步:发现类的属性狗类共有的特征:1.品种2.年龄3.昵称4.健康情况5.跟主人的亲密度……classDog{Stringname=旺财;//昵称inthealth=100;//健康值intlove=0;//亲密度Stringstrain=拉布拉多犬;//品种}只放我关心的属性名词用面向对象描述世界第三步:发现类的方法狗类共有的行为:1.跑2.吠3.输出狗的信息……动词classDog{Stringname=旺财;//昵称inthealth=100;//健康值intlove=0;//亲密度Stringstrain=拉布拉多犬;//品种/*输出狗的信息*/publicvoidprint(){//输出狗信息的代码}}只放我关心的方法类图使用类图描述类用于分析和设计“类”直观、容易理解+name:String+health:int+love:int+strain:StringDog+print():void“+”:public“-”:private类名返回值类型类型属性名参数:名字:类型,名字:类型方法名构造方法对象初始化