《java面向对象编程知识点总结3.docx》由会员分享,可在线阅读,更多相关《java面向对象编程知识点总结3.docx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结java 中实现方法重载的条件:1、 在同一类中2、 方法名称相同,参数不相同类型、个数、次序3、 与拜访修饰符和返回类型无关4、 如何区分所要调用方法了.* 通过参数进行区分* 方法重载的适用场合 :多个方法功能相同, 只是参数不同, 可以动态依据参数从而区分调用不同的方法* 好处 :* 在调用时只需要记住一个方法,从而通过参数进行区分成员变量与局部变量的区分:1、所在位置不同: 成员变量在类中,但不在详细的方法中以及代码块中局部变量在方法中以及在代码语句中可编辑资料 - - - 欢迎下载精品名师归纳总结2、初始值不同 :成员变量声明就可以使用,它会默认进行赋值操作局部变量就
2、必需声明、赋值才能使用它不存在默认值 3、在内存中储备位置不同* 成员变量安排到堆内存中* 局部变量安排至栈中4、生命周期不同* 成员变量随着对象的存在而存在,随对象的销毁而销毁* 局部变量是随着方法调用而存,随着方法销毁而销毁* 对于成员变量为 int 的默认值为 : 0* 对于成员变量为 string 的默认值为 : null* 对于成员变量为 double 的默认值为 : 0.0构造方法的特点 :* 1 、方法名称与类名相同可编辑资料 - - - 欢迎下载精品名师归纳总结* 2 、无返回类型 懂得 :调用构造方法返回当前的对象* 构造方法的作用 :* 1 、创建类的对象必需显示调用构造方
3、法* 2 、可以对类的成员进行初始化* 构造方法可以进行重载* 1 、要留意不能无限制进行重载* 2 、一个类供应带全参数与无参的构造方法再加相应的 set实现面对对象的封装* 1 、属性私有化* 2 、供应对应的 public 的 setXxxx与 getXxx的方法相应供应 set 与 get 的方法* set 与 get 的方法命名规章 :* set + StuName = setStuName* get + StuName = getStuName3、对 setXxx方法进行合理性限制可编辑资料 - - - 欢迎下载精品名师归纳总结静态变量与非静态变量的区分1、非静态变量单独属于某个对
4、象2、而静态变量就属于整个类,多个对象共享的3、静态变量是储备在静态方法区中,而非静态变量就是储备在堆上 成员变量 问题 :* 1 、静态变量可以直接用类名调用也可以用对象名来调用为什么 * 2 、静态变量又称之为类变量,静态方法又称之为类方法* static 关键字能修饰哪些成员.* 1 、可以修饰成员变量* 2 、可以修饰成员方法* 3 、可以修饰代码块java 如何进行调试,从而跟踪代码的执行过程1、定义断点2、起动调用 : Debug as java application可编辑资料 - - - 欢迎下载精品名师归纳总结3、进行单步跟踪 F6 下一步, F5 进入里面进行跟踪this
5、关键字1、this 关键代表当前对象2、使用 this 关键字区分成员变量与局部变量同名3、在本类中使用 this 关键可以调用成员属性与成员方法4、this 关键字可以用来调用构造方法5、在一个构造方法中通过this 关键在调用另一个构造方法时必需显现在第一句代码位置构造方法重写的条件* 1 、在继承中 有父类与子类 * 2、子类中的方法与父类被重写的方法保持签名一样方法名称相同、参数相同、返回类型相同* 3 、子类重写的方法的拜访修饰符要么与父类保持一样但可以大* 4、子类重写的方法不能比父类被重写的方法抛的反常更大 ,但可以小 要么是反常类的子类 super关键字可编辑资料 - - -
6、欢迎下载精品名师归纳总结* 1 、super 关键字指向父类对象* 2 、通过 super 关键字可以在子类的构造方法中通过它显示调用父类的构造方法 ,* 但是必需在子类构造方法的第一句代码位置* 3 、通过 super 关键可以调用父类其他成员,当位置可随便java 中的继承* 1 、继承的原就 :要符合 is-a 关系* 2 、父类中是全部子类的共性的成员* 3 、子类通过 extends 父类* 4 、java 中的继承只支持单一继承* 5 、子类继承父类以下就不能继承* . 父类 private 成员不能继承* . 父类构造方法不能继承* . 假如是默认的拜访修饰符不同包的子类不能继承
7、 同包的子类可以继承 继承的好处 :可编辑资料 - - - 欢迎下载精品名师归纳总结* 1 、模拟实现世界中对象与对象之间的关系* 2 、提高了代码的重用性拜访修饰符作用域* private : 本类* defalut or friendly: 本类, 同包的子类 , 不同包的子类不行* protected:本类 ,同包的子类可以or 同包的非子类也可,不同包的子类可以or 不同包的非子类就不行* public : all抽象类 abstract有什么作用 :1、模拟现实世界中对象与对象之间的关系* 2 、可以适当提高代码重用、对于扩展与保护有利1把多个共性的东西提取到一个类中,这是继承的做法
8、。但是了,这多个共性的东西,在有些时候,方法声明一样,但是方法体。也就是说,方法声明一样,但是每个详细的对象在详细实现的时候内容不一样。可编辑资料 - - - 欢迎下载精品名师归纳总结所以,我们在定义这些共性的方法的时候,就不能给出详细的方法体。而一个没有详细的方法体的方法是抽象的方法。在一个类中假如有抽象方法, 该类必需定义为抽象类。(2) 抽象类的特点A:抽象类和抽象方法必需用关键字abstract 修饰B:抽象类中不肯定有抽象方法,但是有抽象方法的类一定是抽象类C:抽象类不能实例化D:抽象类的子类a:是一个抽象类。b:是一个详细类。这个类必需重写抽象类中的全部抽象方法。(3) 抽象类的成
9、员特点: A:成员变量有变量,有常量B:构造方法可编辑资料 - - - 欢迎下载精品名师归纳总结有构造方法C:成员方法有抽象,有非抽象(4) 抽象类的几个小问题A:抽象类有构造方法,不能实例化,那么构造方法有什么用 .用于子类拜访父类数据的初始化B:一个类假如没有抽象方法,却定义为了抽象类,有什么用 .为了不让创建对象C:abstract不能和哪些关键字共存a:final冲突b:private 冲突c:static 无意义多态可编辑资料 - - - 欢迎下载精品名师归纳总结1、java 中构成多态的条件* . 要有继承* . 要有重写* . 父类的引用指向子类的对象也可以指向父类自身的对象 (
10、1) 同一个对象在不同时刻表达出来的不同状态。2多态的前提:A:有继承或者实现关系。B:有方法重写。C:有父类或者父接口引用指向子类对象。多态的分类:a:详细类多态class Fu class Zi extends Fu 可编辑资料 - - - 欢迎下载精品名师归纳总结Fu f = new Zi; b:抽象类多态abstract class Fu class Zi extends Fu Fu f = new Zi; c:接口多态interface Fu class Zi implements Fu Fu f = new Zi;(3) 多态中的成员拜访特点A:成员变量编译看左边,运行看左边B:构
11、造方法子类的构造都会默认拜访父类构造C:成员方法可编辑资料 - - - 欢迎下载精品名师归纳总结编译看左边,运行看右边D:静态方法编译看左边,运行看左边为什么 .由于成员方法有重写。(4) 多态的好处:1、模拟了现实世界中对象与对象之间的关系* 2 、提高了代码的可重用性* 3 、提高了程序可扩展性 敏捷性 A:提高代码的保护性继承表达 B:提高代码的扩展性多态表达 (5) 多态的弊端:父不能使用子的特有功能。现象:子可以当作父使用,父不能当作子使用。多态中的转型A:向上转型可编辑资料 - - - 欢迎下载精品名师归纳总结从子到父从子类到父类的类型适用于自动类型转换* 向上转型 :从子类到父类
12、的类型 前提 :要有继承 * 特点 :子类能够拜访的层面只能站在父类对象来看,来能看到的只是被子类重写的方法,* 自身所特别的方法就调用不到。B:向下转型从父到子向下转型 强制类型转换 * 子类 父类对象可编辑资料 - - - 欢迎下载精品名师归纳总结反常 * 存在问题 :可能会产生 classcastException类型转换可编辑资料 - - - 欢迎下载精品名师归纳总结* 如何防止 :使用 instanceof运算符final关键字使用 final 关键字修饰成员属性 常量 final 可以修饰成员方法表示该方法不能重写 可编辑资料 - - - 欢迎下载精品名师归纳总结假如某个类被fin
13、al 修饰了,表示该类不能继承1是最终的意思,可以修饰类,方法,变量。2特点:A:它修饰的类,不能被继承。B:它修饰的方法,不能被重写。C:它修饰的变量,是一个常量。3面试相关:A:局部变量a:基本类型 值不能发生转变b:引用类型 的址值不能发生转变,但是对象的内容是可以转变的B:初始化时机a:只能初始化一次。b:常见的给值定义的时候。 举荐 构造方法中。可编辑资料 - - - 欢迎下载精品名师归纳总结绑定的类型1、动态绑定 :肯定在运行过程中,通过详细的传参才能打算的 后期绑定 2、静态绑定 :在编译期间就能够打算的前期绑定 第 4 章 Java 中的接口1、Java中接口语法2 、 语法
14、1:3 、 修饰符 interface4 、常量定义接口名extends父接口 1, 父接口 2, 5 、方法定义6 、 7 、 语法 2:8 、 class类名 extends父类名接口 1,接口 2, 9 、类的内容10 、可编辑资料 - - - 欢迎下载精品名师归纳总结接口说明A. 接口和类、 抽象类是一个层次的概念, 命名规章相同。 假如修饰符是 public ,就该接口在整个项目中可见。假如省略修饰符,就该接口只在当前包中可见。B. 接口中可以定义常量, 不能定义变量。 接口中属性都会自动用public static final修饰,即接口中属性都是全局静态常量。 接口中的常量必需在
15、定义时指定初始值。1. public static final PI = 3.14;2. int PI = 3.14;/在接口中, 这两个定义语句成效完全相同3. int PI;/错误,在接口中必需指定初始值, 在类中会有默认值C. 接口之间可以通过 extends 实现继承关系, 一个接口可以继承多个接口,但接口不能继承类。D. 一个类只能有一个直接父类, 但可以通过 implements 实现多个接口。类必需实现接口的全部方法, 否就必需定义为抽象类。类在继承父类的同时又实现多个接口时, extends 必需位于implements 之前。可编辑资料 - - - 欢迎下载精品名师归纳总结E
16、. 接口是一种特别的抽象类抽象类与接口的区分A. 成员区分 :1. 抽象类:a) 成员变量 : 可以变量,也可以常量b) 构造方法 : 有c) 成员方法 : 可以抽象,也可以非抽象2. 接口:a) 成员变量 : 只可以为常量b) 成员方法 : 只可以抽象B. 关系区分 :3. 类与类: 继承,单继承4. 类与接口 : 实现,单实现,多实现5. 接口与接口 : 继承,单继承,多继承C. 设计理念区分 :6. 抽象类: 被继承表达的是 is-a 的关系。抽象类中定义的是该继承体系的共性功能。7. 接口: 被实现表达的是 like-a 的关系。接口中定义的是该继承体系的扩展功能。 在很多框架中都采纳
17、面对接口编程的思想 可编辑资料 - - - 欢迎下载精品名师归纳总结懂得假如说子类继承超类是 “is a,”即“是”的关系, 类和支持类之间是 “has a”,即 “有”的关系,或称 “组合”,那么类和接口就是 “ likea”,即 “像是”的关系。接口表示,全部实现了我这个接口的类都具有我规定的协议,即 “看起来都像我 ”,准确的说, “看起来都像我的签名 ”第 7 章 Java 中的常用类包装类(1) java八个基本数据类型 : byte , char , short, int, long , float , double , boolean(2) 对应的八个包装类型 :Byte , C
18、haracter, Short , Integer, Long ,Float , Double , Bool ean都位于 java.lang 包中(3) 装箱与拆箱 :JDK1.5java5.0开头支持装箱与拆箱 A:装箱:基本类型 - 包装类型 Integer a = 12B:拆箱:包装类型 - 基本类型 int c = a; int c = a.intValue; C:包装类方法 : .xxxValue 拆箱 , .valueOf 装箱(4) 包装类扩展题 :可编辑资料 - - - 欢迎下载精品名师归纳总结A: Integer a = new Integer12 ; Integer b
19、= new Integer13;System.out.printlna = b;String 类 字符串起来形成字符串or 字符串是字符的数组 (1) public final class String . :该类不能派生子类 不能继承 (2) String对象不行变(3) 频繁拼接效率低(4) 常用方法. intlength:返回字符串的长度方法 字符的个数 , 留意与数组length 属性区分 ;. boolean equalsObject object:将此字符串与指定的对象比较;该方法是继承自 Object 中,String 类中对该方法进行了重写 ,用于比较两字符串对象的值是否相等
20、; = 进行说明 . intindexOf.: 返回指定的字符或字符串在该字符串第一次显现的索引位置假如存在就返回详细的索引位置 ,否就返回 -1-1 表示不存在 例如:邮箱的址中是否存在 与 . 符号就可以使用indexOf 方法;可编辑资料 - - - 欢迎下载精品名师归纳总结. int lastInd exOf.:. char charAtint index:在指定的位置提取单个字符 ;. String subString. :截取字符串方法 ;. String concatString str :拼接字符串 使用+ 做连接. String replace.:替换方法. String t
21、rim;过滤该字符串前后空格. String toLowerCase :转换为小写. String toUpperCase :转换为大写. int compareToString anotherString :按字典次序比较两字符串. static String format. :格式化字符串StringBuffer类String , StringBufferJDK1.0 , StirngBuilderJDK5.0区分A:string不行变,后二者可变 ;B:stringbuffer就线程安全的 ,而 StirngBuilder是线程担心全的 ; C:效率: StirngBuilder Str
22、ingBuffer String可编辑资料 - - - 欢迎下载精品名师归纳总结D: String 、StringBuffer、StringBuilder都是被 final 修饰的,是不能够被继承改写的第 8 章 Java 中的集合CollectionList 集合1、List-ArrayLis实t 现类 :一个有序集合 ,可以答应重复元素、可以存 null 元素有序储备有先后次序 ArrayList在哪些场合下使用 :在循环遍历与随机拜访时举荐使用Set 集合set 集合的特点 :* 1 、它是无序* 2 、只能存一个 null* 3 、不许重复泛型集合 LinkedListLinkedLi
23、st集合适应场合 :可编辑资料 - - - 欢迎下载精品名师归纳总结对于频繁插入与删除就选它Map 集合 key,valueHashMap: 特点* 1 、用于 key-value 对应的关系* 2 、键不答应重复 假如重复会发生掩盖) ,值可以重复第 9 章 JAVA中的流1、File 类2、java 中的流(1) java中操作流的类都位于 : java.io 中(2) 流的分类A: 依据流的流向分 : 输入流与输出流. 输入流 :只能从中读取数据 ,而不能向其写出数据 ;. 输出流 :只能向其写出数据 ,而不能从中读取数据 ;. 说明 :数据从内存到硬盘 ,通常称为输出流 ,这里的输入、
24、输出都是从程序运行所在内存的角度来划分的。可编辑资料 - - - 欢迎下载精品名师归纳总结B: 依据处理的数据单元不同 :. 字节流 :字节流操作的最小数据单元是8 位字节。. 字符流 :而字符流操作的最小数据单元是16 位字符。C: 依据流的角色 :. 节点流 :节点流也被称为低级流 ;可以从 / 向一个特定的IO 设备如磁盘、网络 读/ 写数据的流 . 处理流 :用于对一个已存在的流进行连接或封装,通过封装后流来实现数据读 / 写功能。(3) 字节流与字符流A:字节流.InputStream:字节输入流 ;.OutputStream:字节输出流 ; B:字符流.Reader:字符输入流 ;
25、.Write:字符输出流 ;3、字节流与字符流的详细类可编辑资料 - - - 欢迎下载精品名师归纳总结1FileInputStream2FileReader3FileOutputStream4FileWrite4、转换流1 输入/ 输出流体系里仍供应了将字节流转成字符流 ,2个转换流 ,这两个转换流用于实现其中 InputStreamReader将字节输入流转换成字符输入流,OutputStreamWriter将字节输出流转换成字符输出流。序列化(1) 序列化的含义 :序列化机制答应将实现序列化的java 对象转换为字节序列 ,这些字节序列可以储存至磁盘上或通过网络传输,以备以后重新复原成原先
26、对象。序列化机制使得对象可以脱离程序的运行而独立存在。(2) 如何实现对象序列化序列化操作 :可编辑资料 - - - 欢迎下载精品名师归纳总结A:将类实现序列化接口 SerializableB:创建一个 ObjectOutputStream输出流ObjectOutputStreamoos=newObjectOutputStreamnew FileOutputStreamObject.txt;C:调用 ObjectOutputStream对象的 writeObject方法输出可序列化对象Person per = new Person.; oos.writeObjectper;反序列化 :A:创建
27、一个 ObjectInputStream输入流ObjectInputStreamois=newObjectInputStreamnew FileInputStreamobject.txt;B:调用 ObjectInputStream的 readObject方法读取流中的对象Person person = Person ois.readObject; sysoutperson.getPerName + t + person.getPerAge第 10 章 Java GUI 和 swingswing 体系 :1JFrame:Object可编辑资料 - - - 欢迎下载精品名师归纳总结|-Compo
28、nent|-Container|-window|-Frame|-JFrameswing pk awt(1) 使用 swing 来开发图形界面比 awt 更加优秀 ,由于 swing 是一种轻量级组件 ,它采纳 100% 的 java 实现,不再依靠于本的平台的图形界面 ,所以可以在全部平台上保持相同的运行成效,对跨平台支持比较杰出。(2) swing供应了比 awt 更多的图形界面组件 ,因此可以开发出更美观的图形程序。由于 awt 需要调用底层平台的 GUI 实现, 所以 awt 只能使用各种平台上 GUI 组件的交集 ,这大大限制了awt 所支持的 GUI 组件,而 swing 就不存在此
29、问题。(3) 除 此 之 外 swing 组 件 都 采 用 了MVCmodel-view-controller 的设计从而实现 GUI 组件的显示规律和数据规律分别。第 14 章 多线程可编辑资料 - - - 欢迎下载精品名师归纳总结1、 进程(1) 进程是系统进行资源安排的一个独立单位;进程就是正在运程的程序 ;(2) 进程的特点 :A 独立性:每一个进程都拥有自己私有的空间。B 动态性:进程是一个正在系统中活动的指令的集合。C 并发性:多个进程可以在单个处理器上并发执行,多个进程之间不会相互影响。并发性是指同一时刻只能有一条指令执行,但多个进程指令被快速轮换执行使得宏观上具有多个进程同时
30、执行的成效。并行性:2. 线程(1) 一个进程中至少有两个线程 两个或多个线程 2java 多线程 :A:进程是系统资源安排的独立的单元 ;可编辑资料 - - - 欢迎下载精品名师归纳总结B:进程是重量级的 它有独立内存资源空间 C:进程之间的资源共享会带来诸多麻烦3 为何 java 中使用多线程进行操作A:线程是轻量级的 ,它可以共享同一个进程中的资源 ;3. java 中多线程的开发(1) Thread线程类a: 自定义一个子类 extends Thread类b: 重写 run 方法c: 创建线程类的对象d: 调用 start 方法启动线程(2) Runnabl e 接口(3) 汽车站有三个窗口 ,共售 100 票,使用线程进行处理4、线程中的生产者与消费者可编辑资料 - - - 欢迎下载