欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    (精品)java基础教程(10).ppt

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

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

    (精品)java基础教程(10).ppt

    第十章第十章 继承继承 学习目标:学习目标:如何声明父类和子类用代码实现继承测试继承的有效性super与thisfinal关键字的使用abstract关键字的使用接口的定义继承概述继承概述有重复成员的类有重复成员的类public class Person public String name;public int age;public int getInfo()public class Student public String name;public int age;public int getInfo()public String schoolName;public void study()public class Person public String name;public int age;public int getInfo()public class Student extends Person public String schoolName;public void study()PersonStudent 继承使得Person类的所有可继承的可继承的变量和方法(区分哪些是可继承,哪些是受限制),都可以在Student类中使用父类子类继承的定义继承的定义 继承:指以原有的类为基础来创建一个新类,从而实现代码重用。被继承的类是:超类或父类超类或父类继承而来的类是:子类子类定义继承的形式为:访问权限class类名 extends父类 注意:1、没有extends,默认父类为Object 2、只有一个父类,即单继承 3、类继承具有传递性class Aclass B extends Aclass C extends B 其中,B类继承A类,C类继承B类,那么C类也间接继承了A类继承的实现1、java中类是一个层次结构,其中Object类类是所有类的根,java中所有的类都直接或者间接继承Object类类2、子类可以继承父类的非私有成员变量和非私有成员变量和非私有方法,但不继承父类的构造方法。非私有方法,但不继承父类的构造方法。(注意区别哪些是可继承和不可继承!)(注意区别哪些是可继承和不可继承!)测试继承测试继承类一次只能继承一个父类(单继承)使用“是一个(is a)”短语验证继承Person和Student的继承是正确的一个Student是一个Person测试继承测试继承错误原因:不满足错误原因:不满足“is a”短语短语正确原因:满足正确原因:满足“is a”短语短语super是什么super用来引用父类的实例对象父类的实例对象主要用途:主要用途:(1)用于访问父类中非非private的成员变量和成员方法,如:super.variable;super.method(参数列表);(2)用于调用父类的构造方法,如:super(参数列表);使用时,必须放在第一句!示例1:在子类成员方法中调用父类成员方法查看结果:查看结果:OverTest.java查看结果查看结果:AddTest.javathis是什么?在每个非静态成员方法内部,都有一个this引用变量,指向调用这个方法的实例。This的真正含义是这个方法所属的实例的引用变量this的应用一让类的成员变量名和对其进行赋值的成员方法的局部变量同名是必要的,这样的代码谁看了都能明白这两个变量是彼此相关的。见书p125 class Person String name;public Person(String name)name=name;this.name=name;this的应用二构造方法不能被显示调用,但是可以在一个构造方法中调用其它重载的构造方法,用this(参数列表)的形式。此时,先执行this表示的构造方法,再执行自己。注意:在调用其它的构造方法的时候,使用this(参数列表)必须是构造方法中的第一条语句,并且在一个构造方法中最多只能调用一个其他的构造方法。查看结果:Person1.java位置!个数!想一想:1)为什么this(参数列表)和super(参数列表)不能同时出现在同一个构造方法中?2)为什么this(参数列表)和super(参数列表)只能作为构造方法中的第一句出现?子类与父类构造方法的关系1、在子类的构造方法中可使用语句super(参数列参数列表表)调用父类的构造方法。2、如果子类的构造方法中没有显式调用父类的构造方法,也没有使用this关键字调用重载的其他构造方法,则在产生子类实例的时候系统会默认调用父类的无参数的构造方法。3、如果子类的构造方法中没有显式调用父类的构造方法,而父类中又没有定义无参数的构造方法(只有当父类没有显式定义任何构造方法时,才会有默认的构造方法),则编译出错。查看结果:Student.java切记!因此:我们在定义类的时候,只要定义了有参数的构造方法,通常就还需要定义一个无参数的构造方法。覆盖父类的方法子类可以根据需要对父类中继承来的方法进行改造这就是方法的覆盖覆盖方法必须和被覆盖方法具有相同的方相同的方法名称,参数列表和返回值类型法名称,参数列表和返回值类型覆盖方法时,不能使用比父类中被覆盖方法更严格的访问权限!如:父类中的方法是public的,子类中覆盖方法就不能为private的查看结果:查看结果:Student.javafinal关键字 在Java中关键字final可以用于修饰类、成员变量和方法final标记的类不能被继承。final标记的方法不能被子类覆盖。final标记的变量(成员变量或局部变量)即成为常量,只能赋值一次。final 关键字修饰成员变量常量:如果变量被标记为如果变量被标记为final,其结果是使它成为常量,只,其结果是使它成为常量,只能被赋值一次。能被赋值一次。public class Bank private final double DEFAULT_RATE=3.2;final Box myBox1=new Box();public static final int a=20;注意:1、想改变想改变final变量的值会导致一个编译错变量的值会导致一个编译错误。误。2、如果将引用类型的变量标记为、如果将引用类型的变量标记为final,那,那么该变量不能指向任何其它对象。但可能改变对象么该变量不能指向任何其它对象。但可能改变对象的内容,因为只有引用本身是的内容,因为只有引用本身是final。final 关键字方法final方法无法被覆盖,即给方法加锁。类 final类没有子类,即不能被继承。小结定义成员变量的格式:访问权限 static final 类型 变量名;abstract关键字用abstract关键字来修饰一个类时,这个类叫做抽象类abstract类必须被继承抽象类不能被实例化来修饰一个方法时,该方法叫做抽象方法。abstract方法必须被覆盖抽象方法只含有声明,而没有具体实现。由于抽象方法没有实现,必须声明为abstractabstract,格式为 Abstract Abstract 返回值类型返回值类型 方法名(参数列表);方法名(参数列表);如:abstract void f();抽象类中的抽象方法public abstract class SomeAbstractClass public void method1()System.out.println(“Hi,Java”);public abstract void method2();/抽象方法后加分号抽象方法后加分号抽象类抽象类定义规则:抽象类必须用abstract关键字来修饰;抽象方法也必须用abstract来修饰。抽象类不能被实例化,也就是不能用new关键字去产生实例对象,但可以创建抽象类的引用含有抽象方法的类必须被声明为抽象类,抽象类的子类如果不是抽象类,就必须覆盖父类所有的抽象方法后才能被实例化,否则这个子类还是个抽象类。注意:1、含有抽象方法的类一定是抽象类2、抽象类中的方法不一定全部是抽象的单继承性和接口java的单继承性使得类结构成为以System.Object类为根的一棵树。java用接口(interface)来获得多继承性。接口克服了多继承性带来的一些问题。接口的定义 在Java里,设计接口的用意,是为实现多重继承的一种特殊机制。接口可以理解为一个特殊的类,只有常量和抽象方法组成的特殊类。每个接口一般也是定义在每个接口一般也是定义在.java 文件中文件中 public interface Collectionint MAX_NUM=100;void add(int a);void delete(int b);int find(int c);int currentCount();接口是用来实现类间多重继承类间多重继承功能的结构。通过接口可以实现不相关类的相同行为,而不需考虑这些类之间的层次关系通过接口可以指明多个类需要实现的方法接口的语法:interface extends,public static final 数据类型 常量名=常量值;public abstract 返回类型 方法名(参数列表);接口中所有的方法默认都是public abstract的接口中的成员变量默认都是public static final的 接口可以继承多个接口,但不能继承类示例示例例例1:通过接口定义一些常量通过接口定义一些常量public interface J_Constantspublic static final int ONE=1;public static final int TWO=2;public static final int THREE=3;/接口接口J_Constants结束结束例例2:interface J_Shape public abstract void mb_draw(int x,int y);/接口接口J_Shape结束结束接口(interface)可以定义一个接口用extends关键字去继承一个已有的接口 可以定义一个类用implements关键字去实现一个接口中的所有方法可以去定义一个抽象类用implements关键字去实现一个接口中定义的部分方法。一个类可以继承一个父类的同时,实现一个或多个接口,extends关键字必须位于implements关键字之前。public class A extends B implements C,D 接口示例interface Collection int MAX_NUM=100;void add(int a);void delete(int b);int find(int c);int count();class TestCollection implements Collectionpublic void add(int a)方法体 public void delete(int b)方法体public int find(int c)方法体public int count()方法体注:如果实现某接口的类不是抽象类,则类中必须实现指定接口的全部抽象方法,且方法头部分要与接口中的定义完全一致(包括返回值,方法名,参数列表)。如果实现某接口的类是抽象类,则该类的任何一个非抽象的子类必须有它们父类所实现接口的所有抽象方法的方法体。所有实现接口中的方法必须被申明为public的接口的实现与接口特点小结实现一个接口就是要实现该接口的所有方法(抽象类除外)接口中的方法都是抽象的多个无关的类可以实现同一个接口一个类可以实现多个无关的接口查看结果:Runner.javapackage 语句语句 /0或或1个,必须放在文件开始个,必须放在文件开始import语句语句 /0或多个,必须放在所有类定义之前或多个,必须放在所有类定义之前 public class HelloWroldApp/公共类公共类0或或1个个 /文件名必须与该类的类名完全相同文件名必须与该类的类名完全相同 class TheFirstClass/非公共类非公共类0或多个或多个 interface TheFirstInterface/接口接口0或多个或多个注意:注意:在一个.java文件中,package语句和public类最多只能有一个。Java 程序结构复习考试范围:课件1-10章考试时间:考试题型:1、判断题:1分/题*10=10分2、单选题:2分/题*10=20分3、填空题:2分/题*10=20分4、读程序写结果:15分5、简答题:6分/题*3=18分6、按要求看题写程序:22分

    注意事项

    本文((精品)java基础教程(10).ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开