面向对象总结(按照课程和特点)打印版

上传人:第*** 文档编号:34051158 上传时间:2018-02-20 格式:DOCX 页数:6 大小:18.75KB
返回 下载 相关 举报
面向对象总结(按照课程和特点)打印版_第1页
第1页 / 共6页
面向对象总结(按照课程和特点)打印版_第2页
第2页 / 共6页
面向对象总结(按照课程和特点)打印版_第3页
第3页 / 共6页
面向对象总结(按照课程和特点)打印版_第4页
第4页 / 共6页
面向对象总结(按照课程和特点)打印版_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《面向对象总结(按照课程和特点)打印版》由会员分享,可在线阅读,更多相关《面向对象总结(按照课程和特点)打印版(6页珍藏版)》请在金锄头文库上搜索。

1、第一天:1、什么是类? 类是具有共同属性和行为的对象的合集,是个抽象的,想象出来的。可以看成是一类对象的模板。什么是对象? 对象是类的实例,是指具体的,真实存在的一个个体。2、如何创建类?如何创建对象? 类包含对象的属性和方法, class类名修饰词 返回值类型 成员变量(也就是属性) 方法(也就是行为,具体怎么实现)对象是类的实例 : 用 new 实例:如:Aoo a=new Aoo();3、基本类型与引用类型划等号:基本类型划等号是赋值,引用类型划等号是指向同一个对象4、 null 和 NullPointerException:null 是空,没有任何指向,若引用的值为 null,则该引用

2、不能做任何操作,如果继续,就会空指针异常 NullPointerException;第二天:1、方法的重载: 方法名相同,参数列表不同,编译器在编译时自动根据签名来绑定调用不同的方法2、构造方法/构造器/构建器:1 、构造方法名与类名一样,大写,没有返回值,void 也不能写;2、不写构造方法编译器会自动提供一个无参的构造方法,如果不想要默认的,就要自己写,写了编译器就不会给你默认提供了;3、构造方法对成员变量进行初始化。4、在创建( new)对象时自动调用;5、构造方法可以重载;3、 this: 代词,当前对象,哪个对象调就是指的哪个对象;this 只能写在方法中,方法中访问成员变量前面有个

3、默认的 this;this 的用法:this.成员变量名 访问成员变量this.方法名 ()调用方法this()-调用构造方法4、引用类型数组: 除了基本类型就是引用类型,相同的引用类型组成的数组;第三天:1、内存管理: 堆、栈、方法区堆:用于存储所有 new 出来的对象成员变量的生命周期:创建对象时存在堆中,对象被回收时一并消失没有任何引用指向的对象称为垃圾,垃圾回收器(GC)不定时清扫垃圾,发现垃圾则自动清理内存泄露:不再使用的内存没有被及时的释放建议:不再使用的对象及时将引用设置为 null垃圾回收过程是透明的调用 System.gc()建议虚拟机尽快回收垃圾栈:用于存储方法被执行时所有

4、的局部变量调用方法时为该方法分配对应的栈桢,栈桢中存储所有的局部变量,方法执行结束时栈桢被清除,局部变量也一并消失局部变量与成员变量的区别:成员变量:类中方法外,new 对象时存在堆中,有默认值局部变量:方法中,调方法时存在栈中, 没有默认值方法区:用于存储.class 字节码文件以及方法方法只有一份,通过 this 区分到底哪个对象调用的2、继承:作用:避免代码重复,有利于代码的重用通过 extends 实现继承父类/基类:所有子类所共有的变量和方法子类/派生类:子类所特有的变量和方法继承后子类具有:子类的+父类的一个父类可以有多个子类,一个子类只能继承一个父类-单一继承继承具有传递性jav

5、a 规定:构造子类之前必须先构造父类子类构造中若没有调用父类构造方法,则默认 super()来调父类的无参构造,若子类自己调了,则不再默认提供super 调用父类构造必须位于子类构造的第一句3、 super:指代当前对象的父类对象super 用法:super.成员变量名 访问父类的成员变量super.方法名 ()调用父类的方法super()-调用父类的构造方法4:向上造型:父类型的引用指向子类型的对象;能点出什么,看引用的类型是;第四天:1、方法的重写:发生在父子类中,方法名相同,参数列表相同,方法体不同重写方法被调用时,看对象的类型2、重写与重载的区别: (面试题)重载:发生在同一个类中,方

6、法名相同,参数列表不同遵循”编译期绑定” ,看参数(引用) 的类型绑定方法重写:发生在父子类中,方法名相同,参数列表相同,方法体不同遵循”运行期绑定” ,看对象的类型调用方法重写遵循:两同两小一大:两同:方法名相同,参数列表相同(其实也就是签名相同) ;两小:子类返回类型小于或等于父类(void 和基本类型必须相同,引用类型可小与等于(父类大,子类小) ) ;抛出异常小与等于父类;一大:子类访问权限大于或等于父类(public,protected,默认的,private) ;3、 package 和 import:package:作用:避免类名的冲突包名可以有层次结构有了名之后全称: 包名.类

7、名建议:包名所有字母小写import:作用:声明类 /引入类语法: import 包名.类名;同包中的类可以直接访问,不同包中的类若想访问有两种方式:先 import 声明类,再直接访问全称: 包名 .类名- 不建议4、访问控制修饰符:public,protected,默认的,privatepublic:公开的,任何类protected:受保护的,本类、子类、同包类默认的:什么也不写,本类、同包类private:私有的,本类类的修饰:public 和默认的类成员的修饰:如上 4 种都可以5、 static:静态的静态变量:由 static 修饰的成员变量属于类,存在方法区中,只有一份通过类名.

8、来访问何时用:所有对象的数据都一样时使用静态方法:由 static 修饰的方法属于类,存在方法区中,只有一份通过类名.来访问静态方法没有隐式的 this 传递,所以静态方法中不能直接访问实例成员何时用:方法的操作仅与参数相关而与对象无关静态块:由 static 修饰的块属于类的,在类被加载期间自动执行的类只被加载一次,所以静态块也只执行一次何时用:常常用于初始化静态资源(图片、音频、视频)6、 final:不可变的修饰变量: 变量不可被改变修饰方法: 方法不可被重写修饰类 : 类不可被继承7、 static final 常量 :必须声明的同时初始化,不能被改变通过类名.来访问建议:常量名所有字

9、母均大写常量在编译时被直接替换为具体的数,效率高第五天:1、抽象方法:1、由 abstract 修饰2、包含抽象方法的类必须是抽象类若类中没有抽象方法,也可以声明为抽象类我乐意4、抽象类是需要被继承的,子类:1)重写抽象类中的所有抽象方法-建议2)也声明为抽象类-不建议5、抽象类的意义:封装子类共有的属性和行为,避免代码重复为所有子类提供了一种公共的类型-向上造型抽象类中可以包含抽象方法为所有子类提供了一个统一的入口2、抽象类:1、抽象类不能被实例化2、抽象类是需要被继承的,子类:1)重写抽象类中的所有抽象方法-建议2)也声明为抽象类-不建议3、抽象类的意义:封装子类共有的属性和行为,避免代码

10、重复为所有子类提供了一种公共的类型-向上造型抽象类中可以包含抽象方法为所有子类提供了一个统一的入口3、接口:对继承单根性的扩展:是一个标准、规范遵守了这个标准,就能干某件事-API 之后由 interface 定义接口中只能包含常量和抽象方法接口不能被实例化接口是需要被实现/继承的,实现类/ 子类:必须重写接口中的所有抽象方法一个类可以实现多个接口若又继承又实现时,必须先继承后实现接口可以继承接口第六天:1、多态的意义:同一类型引用指向不同对象时,有不同的实现行为的多态cut(),run() 同一对象被造型为不同类型时,有不同的功能对象的多态我,水2、向上造型:父类的引用指向子类的对象能造型为

11、的类型有: 父类+实现的接口能点出来什么,看引用的类型3、强制类型转换:引用所指向的对象,就是该类型引用所指向的对象,实现了该接口4、 instanceof作用:判断引用指向的对象,是否是该类型返回 true 和 false,强转成功的条件就是它为 true 的条件建议:强转之前先通过 instanceof 判断后,再强转5、内部类: 成员内部类、匿名内部类:成员内部类:应用率不高类中可以套类,里面的叫内部类,外面的叫外部类内部类通常只服务于外部类,对外不具备可见性内部类对象通常在外部类中创建内部类中可以直接访问外部类的成员(包括私有的)内部类中默认有一个隐式的引用指向了创建它的外部类对象语法: 外部类名.this.匿名内部类:若需要创建一个类(子类)的对象,并且对象只创建一次,此时该类不必命名,称之为匿名内部类匿名内部类中访问外部的变量,该变量必须是 final 的按照特点总结(封装-多态-继承)一.封装:类: 封装的是对象的属性和行为方法:封装的是具体的实现细节访问控制修饰符:封装的是访问的权限二.继承:作用: 避免代码重复,有利于代码的重用父类/基类:子类所共有的属性和行为子类/派生类:子类所特有的属性和行为子类继承父类后,子类具有:父+子三.多态:意义: 行为的多态、对象的多态向上造型、强制类型转换、instanceof多态的表现形式: 重写、重载

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号