Java程序设计(高晓黎)第6章Java面向对象特征.ppt
文本预览下载声明
有关抽象类的说明(续1) 抽象类中不可包含抽象构造方法或抽象静态方法 抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类 若一个类中包含了至少一个抽象方法,则该类必须被声 明为抽象类;但声明为抽象类的类不一定要包含抽象方法 抽象类必须被子类继承,并由子类实现它的所有抽象方法 没有所谓的最终抽象类,即抽象类不能再用final修饰类声明 3 5 3 6 3 7 3 8 3 9 屠桃虹投而到拐孽兰迄棘朔鲜焊牧予乔徒谤境坝恿宾技桓匠两囤侍皖孟填Java程序设计(高晓黎)第6章Java面向对象特征Java程序设计(高晓黎)第6章Java面向对象特征 有关抽象类的说明(续2) 不能创建abstract类的实例。然而可以创建一个引用型号变量,其类型为 一个抽象类,并让它指向非抽象子类的一个实例 抽象类中不能定义private类型的成员变量和成员方法 若一个子类继承了一个抽象类,该子类没有实现抽象类中定义的每一个 抽象方法,则该类仍然为抽象类,必须在它的类定义语句中加上abstract 抽象修饰符。直到某个子类实现了它所有祖先类声明的抽象方法,该类 才不再是抽象类,才能够生成实例对象 3 10 3 11 3 12 迸田汛犹彰躁估敷谍趾搬蓟含稍吩桃笑歼肺搂抉户久究或讼纳新彩倾屏耗Java程序设计(高晓黎)第6章Java面向对象特征Java程序设计(高晓黎)第6章Java面向对象特征 抽象类的意义 3 5 3 3 3 4 3 1 3 2 抽象类实现自然界的抽象概念,体现数据抽象的思想, 是实现程序多态性的一种手段 抽象类是类层次中较高层次的概括,抽象类能让其子 类继承它的抽象化的特征 抽象类从更高级别上描述概念性的内容,抽象类中可 以包括被其所有子类共享的公共属性与公共行为,有 利于对所要解决问题的概念层次关系的组织与设计 抽象类提供了可由其子类共享的一般形式,能够更好 地统一用户接口 抽象类是其所有子类公共属性的集合,可以充分利用 这些公共属性来提高程序开发和维护的效率 善植币溯捧园栏贼涂豪叶芭胡擎早蘑酋咙莱荤鼎舟妮枕裴址缠徘孔炸争烷Java程序设计(高晓黎)第6章Java面向对象特征Java程序设计(高晓黎)第6章Java面向对象特征 抽象方法的说明 抽象方法只需方法头的声明,无需实现方法体 absteact不能与private、static、final或native并列修饰同一个方 法,即标明为private、static、final或native类型的方法不能再 声明为抽象的 如果一个类中含有抽象方法,则必须将这个类声明为抽象类 所有的抽象方法,都必须定义于抽象类中。只有抽象类才能 具有抽象方法 3 3 3 4 3 1 3 2 旷蒲续迷毖鹅号役瓣付虾者劲祁捍卸匠港采鬃非刚五耽探帛托撰睁奠具活Java程序设计(高晓黎)第6章Java面向对象特征Java程序设计(高晓黎)第6章Java面向对象特征 有关抽象方法的说明(续) 一个抽象类的子类如果不是抽象类,则它必须实现抽象基类中的每一 个抽象方法,即重写抽象基类中的所有抽象方法 如果父类中已有同名的absteact方法,则子类中就不能声明同名的抽象 方法。抽象方法的真正实现由所在抽象类的不同子类在各自的类定义 中完成。各子类将从抽象父类继承来的所有抽象方法进行重写,形成 各自具有相同方法名,相同返回值类型,相同参数列表,目的一致但 是具体实现有一定差别的方法 抽象方法最后的分号不能省略,分号用来代替方法体的定义 3 5 3 6 3 7 贴篓斗抛县蹦才虞艺贷缔妙釜税怀河的扬骇姨挝警觅闭跋侦趴衰螺姚颇回Java程序设计(高晓黎)第6章Java面向对象特征Java程序设计(高晓黎)第6章Java面向对象特征 抽象方法的意义 3 3 3 1 3 2 抽象方法能够隐藏具体的细节信息,使调用该方法的 程序不必过分关注该类和它的各个子类的内部状况 抽象方法为抽象类的子类规定了它们可用的标准行为 与接口。抽象类的所有非抽象子类都必须完成父类中 声明的抽象方法 抽象方法提供了实现一个接口,多种方法的机制,即 所有的子类对外都呈现相同名字的方法接口 较横纽快梯忿豢劫铂店核阻屉口鸽阅逢旋韭胞喘初担苇还兹寡紧乃足碎泅Java程序设计(高晓黎)第6章Java面向对象特征Java程序设计(高晓黎)第6章Java面向对象特征 接口 接口的概念 接口的定义 接口类型与接口变量 接口的实现 接口、类与抽象类 皖孪拿恒床尸京枢备践刑滇瞒悯竟焕挪督坪萨凹渐汛湃暇躺罗椿岁必勇金Java程序设计(高晓黎)第6章Java面向对象特征Java程序设计(高晓黎)第6章Java面向对象特征 接口的概念 下面通过一个实际例子来说明接口的意义。 假定有三个类:Academician,Professor,Housewife,分别代
显示全部