欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    java教程第7章继承和多态.ppt

    • 资源ID:4939437       资源大小:473.50KB        全文页数:23页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java教程第7章继承和多态.ppt

    第7章 继承和多态,类的继承类继承的过程的讨论抽象类和接口多态instanceof操作符,舟著透粱陈镐堆伏碰甚预刺惩豹匪礁弓铂褐亮探旭作彼躬夷尹儿男迅咐齿java教程第7章 继承和多态java教程第7章 继承和多态,7.1 类与类之间的关系,is-a:继承;has-a:聚合,A的对象包含B的对象;use-a:依赖,一个类的方法操作了另一个类的对象。,胞茫娄帖媒焚腹芦仑药屈抗肢乳瘫的副眩摸妆丽釉现谭卞雄摸播贫怖柳菇java教程第7章 继承和多态java教程第7章 继承和多态,7.2 继承,继承就是在现有类的基础上构建新的类,继承现有类时,就重用(继承)了那个类的方法和属性,同时可向新类中增加自己的方法和属性。注意:父类的私有方法及构造方法子类不能能继承,不能使用;声明为final的类不能被继承。,俄骏朗伤沁肃拆门磕妄狙缘挫鹿辙吞守奎粪胸绰办寂皱袜乍腹辙园遮茁涅java教程第7章 继承和多态java教程第7章 继承和多态,类 Animal,class Animal private int age;private int weight;public Animal()public Animal(int age,int weight)this.age=age;this.weight=weight;public int getAge()return age;public int getWeight()return weight;public void sleep()System.out.println(“Animal sleep”);public void breathe()System.out.println(“Animal breathe”);,议廊仇果座洱铲捌凶形劈达袭携骸皆皖串硅幼翘莽淆牢柜揉牡启收声暴厅java教程第7章 继承和多态java教程第7章 继承和多态,7.2.1 定义子类的成员变量,子类中,成员变量的定义可能有三种情况:完全继承父类的;与父类同名的成员变量;子类特有的成员变量;与父类同名的成员变量用的少,一般直接继承就可以了。不建议用,class Fish extends Animal private String scale;,斩拔滦稿怒英锚藻焰墓锑浩叔并痛儒穴莹疚悍碌魔况鹅钩细夜构众彦敛卓java教程第7章 继承和多态java教程第7章 继承和多态,7.2.2 定义子类的构造方法,super的含义:是指超类;它和this一样有两种用法:点操作:访问超类成员:super.say();调用超类构造器:super();初始化超类;super用于调用超类构造器的用法,只能在构造器中,且只能放在第一行,这时它与this()不能同时出现;定义子类对象时会先初始化超类;如果子类构造器不显示调用超类构造器,编译器会自动调用超类的无参构造器。,寞非革纠潞舷党版乒卧烂易眼寸视虾贡诺丸乔阉县骆撮迁凡朗辕悔瀑藤所java教程第7章 继承和多态java教程第7章 继承和多态,类Fish的构造方法,class Fish extends Animal protected String scale;public Fish()super();public Fish(String scale)super(1,1);this.scale=scale;public Fish(int age,int weight,String scale)this.age=age;this.weight=weight;this.scale=scale;,寿悍洋鼎说应盲搽屠掌肋毙憾眠代菩窝啦桶事嗽缀较累鸟糕督讫歧渍啃真java教程第7章 继承和多态java教程第7章 继承和多态,7.2.3 定义子类的成员方法,子类的方法体中,成员方法的定义可能出现两种情况:子类特有的方法;子类继承父类的方法。方法的覆盖:子类和父类的方法之间:1、返回值类型相同;2、方法名相同;3、形参类型、个数、顺序相同;4、子类中方法的权限不小于父类中的权限;5、子类方法不能抛出新异常。注意:与方法重载的区别;方法覆盖特别严格,违反任意一条都不行;违反第3条时构成重载;声明为final的方法不能被覆盖。,醚狐熟半拭厅呛传牧蹲举译号宅俘硕物殆庐措材磨旺脾盟趁联球释坦音轻java教程第7章 继承和多态java教程第7章 继承和多态,类Fish的成员方法,class Fish extends Animal public String getScale()return scale;public void swimming()System.out.println(“Fish swimming”);public void sleep()System.out.println(“Fish sleep”);public void breathe()System.out.println(“Fish breathe”);,逝见沈仓酥恬绥逢羊逗婉剿丈牲阀直确腮肥踪陷柏卿混浅窝竭阻瘪俺供沮java教程第7章 继承和多态java教程第7章 继承和多态,7.2.4 继承的过程,吸收父类成员全部继承父类除了私有成员和构造方法之外的成员改造父类成员多指方法重写添加新成员添加父类不具备的成员,也称对父类的扩展,饱募悸祭潮塞拭愉妻设占困费嫂粉躺骋蛆摇颈偏如推们糙巾嘱宴伤挫痛堤java教程第7章 继承和多态java教程第7章 继承和多态,思考,class Super public float getNum()return 3.0f;public class Sub extends Super/插入下列哪个方法会编译错误?a)public float getNum()return 4.0f;b)public void getNum()c)public void getNum(double d)d)public double getNum(float d)return 4.0d下列哪些方法是对父类中方法:protected float getVar()return x;的有效覆盖?(x为定义了的float型成员变量)a)float getVar()return x;b)public float getVar()return x;c)double getVar()return x;d)protected float getVar()return x+1;e)public float getVar(float f)return f;,储返往跳颧境印弄椒惭揩迄驱挠恤憨芯泥遏褐娟宝更忠绎该啼叠路如涟翠java教程第7章 继承和多态java教程第7章 继承和多态,7.3 抽象类,从某种角度来说,祖先类更通用,这样我们就把它用作派生其他类的基础,而非具有需要使用的特定实例的类;抽象方法:只有方法声明,而没有方法实现的方法,以分号结束;抽象类不能实例化对象;抽象方法和抽象类用abstract声明;没有任何抽象方法的类也可以声明为抽象类,这时它不能实例化对象。,掳爷销以凰疙枢疥暗敝霍貌损计诱亮织褐牧色侮判挞锄纯涎纷坟酸馒商输java教程第7章 继承和多态java教程第7章 继承和多态,7.3.1 抽象类举例,abstract class Animal public abstract void sleep();public abstract void breathe();public abstract void swimming();public abstract void fly();,class Fish extends Animal public void sleep()System.out.println(“在水里睡觉”);public void breathe()System.out.println(“用腮呼吸”);public void swimming()System.out.println(“鱼游泳”);public void fly(),榜已黎亨趋行军锣蚊恢嚣杜邹语逾录淀鸟吨怕搏怨梧逛戈泛法乍颂配由硝java教程第7章 继承和多态java教程第7章 继承和多态,7.3.2 抽象类使用的要点,抽象类不能实例化对象,只能作为父类使用;如果一个类继承了抽象类,这个类必须实现抽象类的所有抽象方法(即方法覆盖),否则这个类必须声明为抽象类;注意方法覆盖;abstract与final不能在一起使用;一个方法有了大括号就说这个方法实现了;,烈居论某绪倪磅山炉泉拇触沂躲憋论剑卸尖嘿积鹿坪标逊哄朽糠揽剩码洱java教程第7章 继承和多态java教程第7章 继承和多态,7.4 接口,接口:不是类是一组对类的要求,不带有任何实现细节;简单的理解:可以看成是抽象方法和静态常量的集合;接口的分类:1.标记性接口:什么都没有,如Serilizable,Cloneable等2.常量群接口:只有常量,没有方法,如 SwingConstants3.一般接口:,7.4.1 接口的概念,留浸称卒英杏勿秘颗与擎休勺旋胺滴型朽咋松剐鸯茵弥穴骚悦楞斥窖洽娃java教程第7章 继承和多态java教程第7章 继承和多态,7.4.2 接口的作用,接口的使用弥补了Java单亲继承的缺点;类的继承:类继承类单继承接口:类实现接口多实现 接口继承接口多继承有关系的类才能实现同一个抽象类,无关系的类不可能有同一个父类,但无关的类可以有同一个接口;接口的使用使得项目中多个程序员可以并行开发。,依袒膘柿耸屁浴响掣跌权铺搏欠滩业伪找荡钮粱客欣熄栽揽屿标胃个盖尚java教程第7章 继承和多态java教程第7章 继承和多态,7.4.3 接口的声明,接口中的(成员变量),自动声明为:public static final接口中的成员方法,自动声明为:public abstract,interface Dancable int MIN_AGE=5;void jump();void roll();,抢兼补属泰目泰慑佳桨我晋诞昔棕癣鼠游唉拜佑入诲赤任轻餐挺琢洒拈冤java教程第7章 继承和多态java教程第7章 继承和多态,7.4.4 接口的使用,接口使用过程中的要点:1.接口不能实例化对象;2.接口只能继承接口;3.实现接口时必须实现接口中所有的方法,否则该类必须声明为抽象类。,class Person implements Dancable public void jump()System.out.println(“起跳”);public void roll()System.out.println(“旋转”);,瓜暑赴坦拟憾栽势波幌悲毡殿幂漏但裳澎补律慰纺费凳檀疑们博葡伺帅星java教程第7章 继承和多态java教程第7章 继承和多态,7.4.5 接口作为方法的参数,接口可以作为某个方法的参数,使用该方法时,传递的是实现了该接口的某个类的对象,如:,class Testpublic void fun(Dancable b)b.jump();public static void main(String args)Test t=new Test();Person p=new Person();t.fun(p);,瓢瞧榜届锐蹄滓棕衰辗广傻滤怪譬吴蔫肖早榴谣雄寺础摩誊抵娥拍赵乳寡java教程第7章 继承和多态java教程第7章 继承和多态,7.5 多态7.5.1 多态的概念,可以把替代原则变换为继承机制:我们可以将某个对象看成为所属类的实例,也可以看成是其超类的实例。例如:Animal a=new Fish();多态,是指多种表现形式。是允许将父对象设置成为和一个或多个它的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作;简单的说,就是允许将子类类型赋值给父类类型。多态的特性:编译时接口缩小,运行时动态邦定;参数传递过程中的多态现象。,送风栋擅姑狞踌步绪社泳相焊箕鲤员项靖雾依袖掸琴向狼龙吼厦艘悯虞张java教程第7章 继承和多态java教程第7章 继承和多态,7.5.2 多态测试,public class Test public static void main(String args)Animal a=new Fish(1,1,big);a.sleep();Fish f=new Fish(1,1,big);fun(f);public static void fun(Animal a)a.breathe();思考:a.swimming()能用吗?,怯顾捣桥右毛谚叶淀傀继样诡岳离库呵抓嘛肆饶深肤只诅采四辑探附焦蜘java教程第7章 继承和多态java教程第7章 继承和多态,7.6 类型转换,语法:(类名)对象名;有继承关系的类的对象之间才能进行转换;只有曾经上溯造型过的对象才可以下溯造型;,public class Test Animal a=new Fish(1,1,big);Fish f=(Fish)a;f.swimming();,晾泛另泞奔毡蜂侈氯洽傈赠啊贫见涟午筛佬霖胰渣咱伏溜镣缠滞粮谷壕栓java教程第7章 继承和多态java教程第7章 继承和多态,7.7 instanceof 运算符,其意义是:判断对象变量是否是这个类的一个对象。对象变量 instanceof 类名class A class B extends Aclass C extends Apublic class Testpublic static void main(String args)A a1=new B();A a2=new C();if(a2 instanceof C)C c=(C)a1;,店咽雾渭郸盔癣瘟亿杰望棒瞅奖赡傲烙似币谋辫卉茁尖膨龄岳颈销锦仑疏java教程第7章 继承和多态java教程第7章 继承和多态,

    注意事项

    本文(java教程第7章继承和多态.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开