corejava6-11天串讲.ppt_第1页
corejava6-11天串讲.ppt_第2页
corejava6-11天串讲.ppt_第3页
corejava6-11天串讲.ppt_第4页
corejava6-11天串讲.ppt_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Corejava6 11天串讲面向对象 Jsd1107串讲人 刘鸽 类与对象类 同一类事物的抽象定义 对象的抽象对象 类的个体实现 客观存在的一切都是对象Students Student是类 S是对象s newStudent newstudent 是实例属性的定义格式 修饰符 类型属性名 privateStringname 构造方法的定义格式 修饰符 类名 参数列表 一场跑出语句 PublicStudent Stringname intage 方法的定义格式 修饰符 返回值类型方法名 参数列表 异常抛出语句 PublicStringgetName 封装概念 封装也称为信息的隐藏 是指利用抽象数据类型将数据和基于数据的操作封装在一起 使其构成一个不可分割的独立实体 类中的私有属性 要对其给出一对读 写方法 getXxx setXxxx 用来访问私有属性 保证对私有属性的操作的安全性 变量的概念变量的作用域 从定义变量开始到定义它的结束括号 之内变量的生命周期 指变量从创建到销毁并清除其所占的内存空间变量的分类 成员变量和局部变量成员变量分为 实例变量和类变量实例变量 没有static声明的位实例变量 类变量 静态变量 有static声明的变量称为类变量局部变量 不直接在类体括号内声明的变量称为局部变量 方法体内和语句块之内声明的变量都是局部变量 使用局部变量需要注意 1一定要先赋值后使用2作用范围 从定义开始到定义它的代码块结束3在重合范围不允许两个局部变量命名冲突Java中的参数传递Java中所有的参数传递都是值传递基本类型传递变量的确切值 返回副本 引用类型 对象 数组等 传的都是应用的内存地址 继承 多态继承的概念 对有着共同特性的多类事物 进行再抽象成一个雷 这个类就是父类关键字 extendsJava中只允许单继承 即一个类只能有一个直接的父类 但可以有多个间接父类属性 非私有方法都能继承 构造 私有方法都不能被继承 方法的重载 如果有两个方法同名但方法的参数不同 就说一个方法是另一个方法的重载 重载发生在 1 本类内部的方法之间2 有继承关系的 还有继承来的方法与本类方法之间 必须满足的条件 1 至少有两个方法同名2 同名的方法中 其参数类型 个数 顺序至少有一个不同 3 方法的返回类型可以不相同 方法的修饰符可以不相同 4 子类不会继承父类的构造方法 方法的覆盖概念 子类中定义的方法 其名称 返回类型及参数列表如果跟父类中某个方法的名称 返回类型及参数列表相同 就说子类的方法覆盖了父类的方法 注意 参数列表的顺序 个数 类型必须完全一致 PubliccalssBase publiccalssBase Publicvoidmethod publicvoidmethod PubliccalssSubextendsBase publicclassSubextendsBase Publicintmethod publicvoidmethod Return0 publicintmethod return0 这两段代码是否正确子类方法不能缩小父类方法的访问权限 重写必须满足的条件1 子类方法不能抛出比父类方法更大的异常2 发生在父子类之间 有别于重载3 父类中的静态方法不能被子类覆盖成非静态方法4 父类中的私有方法不能被覆盖父类的抽象方法 在子类中可以通过两种方法覆盖子类实现父类的抽象方法子类重新声明父类的方法方法重载与方法覆盖的异同共同点 1 都要求方法名相同2 都可以用于抽象方法和非抽象方法不同点 重写要求必须相同 重载要求参数列表必须不同重写要求返回类型必须一致 重载没有要求重写用于父子类间 重在用于同类 但包括继承来的方法 重写对访问权限和抛出异常有要求 重载没有重写只能又一次 重载可以有多次 This和super关键字This访问本类中定义属性和方法this this Super访问父类中定义的属性和方法this this 如何使用构造子类构造方法中使用suoer调用父类的构造方法本类中使用this调用本类其它构造方法继承关系中构造的调用子类如何调用父类的构造1 子类的构造方法中可使用super语句调用父类的构造方法 格式为 super 2 如果子类的构造方法中既没有显式调用父类构造方法 也没有使用this关键字调用同一个类的其它重载构造方法 则系统会默认调用父类的无参构造方法 3 如果子类构造方法中级未显式调用父类构造方法 而父类中有没有无参构造则编译出错 修饰符可见性Publicprotected默认private同一个类中 同一包中的任何类 同一包中的子类 包外的子类 包外的任何非子类 Abstract修饰符abstract修饰的方法表示抽象方法抽象方法没有方法体抽象方法用来描述系统具有什么功能 但不提供具体实现抽象类中可以没有抽象方法 担忧抽象方法的类必须定义成抽象类 代码演示没有抽象的构造方法 也没有抽象的静态方法抽象类中可以有非抽象的构造方法代码演示 StaticStatic修饰符用来修饰类的成员变量 成员方法和代码块 修饰的成员变量表示静态变量 可以直接通过类名 来访问 静态方法内不允许访问非静态变量静态初始化代码块在类加载的时候运行 所以只执行一次 什么时候类加载第一次需要使用类信息时加载 加载的几种情况 1 调用静态成员时 会加载静态成员真正所在的类及其父类 通过子类调用父类的静态成员时 只会加载父类而不会家在子类 2 第一次new对象的时候加载 第二次再new同一个类时 不需要再加载 3 加载子类会先加载父类 抽象类及抽象方法不能被final修饰Final用final修饰的类 不能被继承 没有子类 修饰的方法不能被子类的方法覆盖用final修饰的变量表示常量 只能被赋值一次final不能用来修饰构造方法Final修饰符可以修饰静态变量 实例变量和局部变量 分别表示静态

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论