




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JavaOOP 1.类和对象: 类是拥有相同行为特征对象的一个抽象概念,而对象是类这个抽象概念中事实存在的个 体。 1)类:类型,类别,一类的东西,比较抽象的 2)对象:真实存在的事物,类的具体的实例 3)现实世界由很多对象组成,先有对象,基于对象抽出了类(类型) 4)代码中,先创建类,再创建对象 5)类是对象的模板,对象是类的具体的实例 6)类中可以包含: 6.1)所有对象所共有的特征(静态的)-成员变量 6.2)所有对象所共有的行为(动态的)-方法 7)一个类可以创建多个对象, 7.1)同一个类创建的对象,结构相同,数据不同 2.面向对象编程过程: 1)先找对象 2)基于对象抽类 3)设计类中的成员变量和方法 4)创建对象,访问成员变量和方法 3.引用类型与基本类型 1)引用类型之间画等号表示指向同一个对象 2)基本类型之间画等号表示赋值为相同的值 3)引用( 引用变量): 是通过对象内存地址间接引用了对象 4)引用不是对象, 引用在软件运行期间动态绑定到对象 5)引用相当于代词 4.null: 1)空,不指向任何对象 2)若引用值为 null,则不能再点操作,点操作则出现空指针异常(NullPointerException) 5.方法签名: 1)方法签名 = 方法名 + 参数列表 (参数的类型) 2)java 规定:在一个类中,不能有两个签名完全相同的方法 6.方法的重载(overload): 1)发生在一个类中,方法名称相同,参数列表不同(参数类型不同 | 参数的个数不同) 2)在编译时编译器自动根据方法签名来绑定不同的方法 7.构造器(构造方法): 1)是描述对象的“创建“ 的过程 2)一般用来初始化对象属性 3)语法: 3.1)构造器的名字与类名相同 3.2)构造器不能声明返回类型 3.3)构造器可以有参数, 参数是创建对象的前提条件 3.4)构造器可以重载 3.5)使用“new“运算调用构造器, 创建对象 3.6)Java 有默认构造器 3.6.1)当没有声明任何构造器时候, Javac 自动添加默认构造器 3.6.2)当声明了构造器, Javac 将不再添加默认构造器 8.this(这个): 1)在方法运行期间, 对当前这个对象的引用 2)Java 软件是先编译后运行, this 是在运行期间存在的局部变量. 在运行期间引用了当前 对象. Java 软件在编译期间没有对象, 只有代码指令 3)方法是统计加载到方法区的, this 是方法的第一个隐含参数 , 用于区别方法的调用者( 调 用方法的对象) 4)this 的用法: 4.1)this.成员变量-访问成员变量 4.2)this.方法()-调用方法 4.3)this()-调用构造方法 9.堆: 1)用于存储“new“ 出来的对象 2)成员变量生命周期: 从对象被创建开始,到对象被回收结束 3)垃圾回收器: 3.1)JVM 自带的一个线程,用于回收没有引用指向的对象( 垃圾对象) 3.2)调用 System.gc()建议 JVM 尽快调度 GC 来回收垃圾 4)内存泄露: 4.1)不再使用的对象没有被及时的回收 4.2)建议: 对象不再使用时应及时将引用设置为 null 10.栈 : 1)用于存储方法运行时用到的局部变量 2)调用方法时在内存中给该方法分配一个对应的栈桢,栈桢中包含该方法所有的局部变 量,当方法执行结束时,对应的栈桢消失,局部变量一并消失 3)局部变量生命周期: 方法被调用时存在,方法调用结束时消失 11.方法区: 1)用于存储字节码(.class)文件和类中的方法 2)方法只有一份,存在方法区中 12.继承: 1)作用:代码的重用 2)所有子类所共有的数据和行为-父类中 子类所特有的数据和行为-子类中 3)子类继承(extends)父类后,子类具有 : 3.1)子类的数据和行为 3.2)父类可见的数据和行为 4)Java 是单一继承, 一个类只能继承一个父类, 但一个父类可以有多个子类 5)java 规定: 5.1)构造子类之前必须先构造父类 5.2)在子类构造方法中,若自己不写则默认一个 super()调父类的无参构造 5.3)若自己写了 super 调父类构造,则不再调用默认的 super()无参构造方法 5.4)通过 super 调用父类的构造方法必须位于子类构造的第一句 13.super: 1)指向当前对象的父类 2)用法: super.成员变量 -访问父类中的成员变量 super.方法 ()-调用父类中的方法 super()-调用父类的构造方法 14.向上造型: 1)父类型的引用指向子类的对象 2)能点出来什么看类型 15.重写(override): 1)发生在两个存在继承关系的类中 2)子类方法签名与父类方法签名相同,方法体不同 3)注意: 3.1)重写方法被调用时,看对象 3.2)两同两小一大原则: 3.2.1)两同: 方法名同,参数列表同 3.2.2)两小: 子类返回值类型小于等于父类的返回值类型 a)void 和基本类型,必须相同 b)引用类型时,可以子类小于等于父类-父类大,子类小 c)子类抛出的异常要小于等于父类的-后期说 3.2.3)一大: 子类访问权限大于等于父类 16.重载(overload)与重写(override)的区别: 1)重载:发生在一个类中,方法名相同,参数列表不同 1.1)“编译期绑定“ ,根据参数类型绑定方法 2)重写:发生在两个存在继承关系的类中,方法名相同,参数列表相同 2.1)“运行期绑定“ ,根据对象类型绑定方法 17.package: 1)包,用于避免命名冲突,可以有多个层次 2)语法: package 包名 1.包名 2. 3)类的完全限定名: 包名 1.包名 2.类名 4)import:引入类 4.1)语法: import 包名.类名 ; 5)注意: 5.1)建议包名所有字母小写 5.2)同包下的类可以直接访问 5.3)不同包下的类想访问需先“import“ 18.访问控制修饰符: 1)public:公有的,所有类 2)private:私有的,本类 3)protected:受保护的,本类,子类,同包类 4)默认:什么也不写,本类,同包类 19.static: 1)static 修饰成员变量: 1.1)属于类,而不属于对象 1.2)存在于方法区中,只有一份 1.3)常常通过( 类名.静态成员变量名) 来访问 1.4)何时用: 所有对象共享这一个数据时使用 2)static 修饰方法: 2.1)没有隐式的 this 传递,所以不能直接访问实例变量和方法 2.2)存在方法区中,只有一份 2.3)常常通过( 类名.静态方法名) 来访问 2.4)何时用: 当方法的操作只与参数相关,而与对象无关时使用 3)static 块: 3.1)在类被加载时执行,只执行一次 3.2)何时用: 常常用于加载静态资源(图片、音频、视频等) 20.final: 1)final 修饰变量: 变量不可被改变 2)final 修饰方法: 方法不可被重写 3)final 修饰类: 类不可被继承 21.抽象类: 1)抽象方法: 由 abstract 修饰,只有方法的定义,没有方法的实现 2)包含抽象方法的类必须是抽象类 3)抽象类:由 abstract 修饰,不能被实例化 可以包含抽象方法和非抽象方法 4)抽象类都是需要被继承的,子类继承后: 4.1)子类中重写父类的抽象方法 4.2)子类也声明为抽象类 5)抽象类的意义: 5.1)封装子类共有的变量和方法-代码的重用 5.2)为子类提供一种公共的类型-向上造型 5.3)定义抽象方法,子类重写它,为子类提供一个公共的入口 22.接口: 1)制定一个标准、规范 2)只要遵守了标准,就能干某件事 3)由 interface 定义 接口中只能包含常量和抽象方法 数据默认为常量(public static final),方法默认为抽象的(public abstract) 4)接口不能被实例化 5)接口需要被实现的,子类实现接口,必须重写接口中的所有抽象方法 6)一个类可以实现多个接口,又继承类,又实现接口时,需先继承再实现 7)接口之间可以继承(extends) 23.多态: 1)同一类型的引用在指向不同对象时,会有不同的实现 2)同一个对象被造型为不同的类型时,有不同的功能 24.向上造型:父类型引用指向子类的对象 类可以造型为: 1)它的父类 2)它实现的接口 25.强转时两种情况是可以的: 1)引用所指向的对象就是该类型 2)引用所指向的对象继承了该类或实现了该接口 建议:强转之前先使用 instanceof 判断后再强转 26.内部类: 1)在类中嵌套类,里面的类叫内部类,外面的类叫外部类 2)内部类只服务于外部类,对外不可用 内部类仅在外部类中被实例化 3)内部类中可以直接访问外部类的所有成员 内部类中有一个隐式的引用(Mama.this)指向它的外部类对象 默认有:外部类名.this.外部类成员 eg: name M 4)何时用:一个类只被另一个类用 -应用率比较低 27.匿名内部类: 1)若一个类只需要被创建一个对象-匿名内部类 前提:这个类实现了某接口或继承了某个类-子类 2)在匿名内部类中想访问匿名内部类外面的数据,该数据必须是 final 的 3)内部类有自己独立的.class 字节码 28.面向对象三大特征: 1)封装: 1.1)类: 封装的是对象的特征和行为 1.2)方法: 封装的是一段特定的逻辑功能 1.3)访问修饰符: 封装的是数据的访问权限 2)继承: 2.1)目的: 实现代码的重用 2.2)将子类共有的数据和方法封装到父类中 3)多态: 3.1)意义: 3.1.1)同一类型的引用指向不同的对象时,有不同的实现 3.1.2)同一对象被造型为不同的类型时,有不同的行为 3.2)向上造型: 父类的引用指向子类的对象 3.3)表现形式: 3.3.1)重写: 同上多态的意义 3.3.2)重载: 同一个方法根据参数的不同,有不同的表现 课程内容小结 第一天: 1.什么是类,如何创建类 2.什么是对象,如果创建对象 第二天: 1.方法的重载 2.构造方法、this 3.引用类型数组 第三天: 1.内存管理:堆、栈、方法区 2.继承、向上造型 第四天: 1.重写、重写与重载的区别 2.package、import 3.访问修饰符:public,protected, 默认,pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论