ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:29.82KB ,
资源ID:17751910      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-17751910.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java面向对象编程知识点总结 1.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

java面向对象编程知识点总结 1.docx

1、java面向对象编程知识点总结 1java中实现方法重载的条件:1、在同一类中2、方法名称相同,参数不相同(类型、个数、顺序)3、与访问修饰符和返回类型无关4、如何区分所要调用方法呢? * 通过参数进行区分 * 方法重载的适用场合: 多个方法功能相同,只是参数不同,可以动态根据参数从而区分调用不同的方法 * 好处: * 在调用时只需要记住 一个方法,从而通过参数进行区分成员变量与局部变量的区分:1、所在位置不同: 成员变量在类中,但不在具体的方法中以及代码块中局部变量在方法中以及在代码语句中 2、初始值不同:成员变量声明就可以使用,它会默认进行赋值操作局部变量就必须声明、赋值才能使用(它不存在

2、默认值)3、在内存中存储位置不同 *成员变量分配到堆内存中 *局部变量分配至栈中4、生命周期不同 * 成员变量随着对象的存在而存在,随对象的销毁而销毁 * 局部变量是随着方法调用而存,随着方法销毁而销毁 * 对于成员变量为int的默认值为: 0 * 对于成员变量为string的默认值为: null * 对于成员变量为double的默认值为: 0.0构造方法的特征:* 1、方法名称与类名相同 * 2、无返回类型(理解:调用构造方法返回当前的对象) * 构造方法的作用: * 1、创建类的对象必须显示调用构造方法 * 2、可以对类的成员进行初始化 * 构造方法可以进行重载 * 1、要注意不能无限制进

3、行重载 * 2、一个类提供带全参数与无参的构造方法再加相应的set实现面向对象的封装* 1、属性私有化* 2、提供对应的public的setXxxx()与 getXxx()的方法相应提供set与get的方法 * set与get的方法命名规则: * set + StuName = setStuName() * get + StuName = getStuName()3、对setXxx()方法进行合理性限制静态变量与非静态变量的区别1、非静态变量单独属于某个对象 2、而静态变量则属于整个类,多个对象共享的 3、静态变量是存储在静态方法区中,而非静态变量则是存储在堆上(成员变量) 问题: * 1、静

4、态变量可以直接用类名调用也可以用对象名来调用(为什么) * 2、静态变量又称之为类变量,静态方法又称之为类方法 * static关键字能修饰哪些成员? * 1、可以修饰成员变量 * 2、可以修饰成员方法 * 3、可以修饰代码块java如何进行调试,从而跟踪代码的执行过程1、定义断点2、起动调用: Debug as (java application)3、进行单步跟踪(F6下一步,F5进入里面进行跟踪)this关键字1、this关键代表当前对象2、使用this关键字区分成员变量与局部变量同名3、在本类中使用this关键可以调用成员属性与成员方法4、this关键字可以用来调用构造方法5、在一个构造

5、方法中通过this关键在调用另一个构造 方法时必须出现在第一句代码位置构造方法重写的条件* 1、在继承中(有父类与子类)* 2、子类中的方法与父类被重写的方法保持签名一致(方法名称相同、参数相同、返回类型相同)* 3、子类重写的方法的访问修饰符要么与父类保持一致但可以大 * 4、子类重写的方法不能比父类被重写的方法抛的异常更大,但可以小(要么是异常类的子类)super关键字* 1、super关键字指向父类对象* 2、通过super关键字可以在子类的构造方法中通过它显示调用父类的构造 方法,* 但是必须在子类构造方法的第一句代码位置 * 3、通过super关键可以调用父类其他成员,当位置可随意j

6、ava中的继承 * 1、继承的原则:要符合is-a关系 * 2、父类中是所有子类的共性的成员 * 3、子类通过extends父类 * 4、java中的继承只支持单一继承 * 5、子类继承父类以下则不能继承 * . 父类private成员不能继承 * . 父类构造方法不能继承 * . 如果是默认的访问修饰符不同包的子类不能继承(同包的子类可以继承)继承的好处:* 1、模拟实现世界中对象与对象之间的关系 * 2、提高了代码的重用性访问修饰符作用域* private : 本类* defalut or friendly: 本类 , 同包的子类, 不同包的子类不可 * protected:本类,同包的子

7、类可以 or 同包的非子类也可, 不同包的子类可以 or 不同包的非子类则不可* public : all抽象类abstract有什么作用:1、模拟现实世界中对象与对象之间的关系 * 2、可以适当提高代码重用、对于扩展与维护有利(1)把多个共性的东西提取到一个类中,这是继承的做法。 但是呢,这多个共性的东西,在有些时候,方法声明一样,但是方法体。 也就是说,方法声明一样,但是每个具体的对象在具体实现的时候内容不一样。 所以,我们在定义这些共性的方法的时候,就不能给出具体的方法体。而一个没有具体的方法体的方法是抽象的方法。 在一个类中如果有抽象方法,该类必须定义为抽象类。 (2)抽象类的特点 A

8、:抽象类和抽象方法必须用关键字abstract修饰 B:抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类 C:抽象类不能实例化 D:抽象类的子类 a:是一个抽象类。 b:是一个具体类。这个类必须重写抽象类中的所有抽象方法。 (3)抽象类的成员特点: A:成员变量 有变量,有常量 B:构造方法 有构造方法 C:成员方法 有抽象,有非抽象 (4)抽象类的几个小问题 A:抽象类有构造方法,不能实例化,那么构造方法有什么用? 用于子类访问父类数据的初始化 B:一个类如果没有抽象方法,却定义为了抽象类,有什么用? 为了不让创建对象 C:abstract不能和哪些关键字共存 a:final 冲突

9、b:private 冲突 c:static 无意义多态1、java中构成多态的条件 * . 要有继承 * . 要有重写 * . 父类的引用指向子类的对象(也可以指向父类自身的对象)(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:接口多态 int

10、erface Fu class Zi implements Fu Fu f = new Zi(); (3)多态中的成员访问特点 A:成员变量 编译看左边,运行看左边 B:构造方法 子类的构造都会默认访问父类构造 C:成员方法 编译看左边,运行看右边 D:静态方法 编译看左边,运行看左边 为什么? 因为成员方法有重写。 (4)多态的好处: 1、模拟了现实世界中对象与对象之间的关系 * 2、提高了代码的可重用性 * 3、提高了程序可扩展性(灵活性) A:提高代码的维护性(继承体现) B:提高代码的扩展性(多态体现) (5)多态的弊端: 父不能使用子的特有功能。 现象:子可以当作父使用,父不能当作子

11、使用。多态中的转型 A:向上转型 从子到父从子类到父类的类型适用于自动类型转换 * 向上转型:从子类到父类的类型(前提:要有继承) * 特点 :子类能够访问的层面只能站在父类对象来看,来能看到的只是被子类重写的方法, * 自身所特殊的方法则调用不到。 B:向下转型 从父到子向下转型(强制类型转换) * (子类)父类对象 * 存在问题:可能会产生classcastException(类型转换异常) * 如何避免:使用instanceof运算符final关键字使用final关键字修饰成员属性(常量)final可以修饰成员方法(表示该方法不能重写)如果某个类被final修饰了,表示该类不能继承 (1

12、)是最终的意思,可以修饰类,方法,变量。 (2)特点: A:它修饰的类,不能被继承。 B:它修饰的方法,不能被重写。 C:它修饰的变量,是一个常量。 (3)面试相关: A:局部变量 a:基本类型 值不能发生改变 b:引用类型 地址值不能发生改变,但是对象的内容是可以改变的 B:初始化时机 a:只能初始化一次。 b:常见的给值 定义的时候。(推荐) 构造方法中。绑定的类型1、动态绑定:一定在运行过程中,通过具体的传参才能决定的(后期绑定)2、静态绑定:在编译期间就能够决定的(前期绑定)第4章 Java中的接口1、Java中接口语法2、语法1:3、修饰符 interface 接口名 extends

13、 父接口1,父接口2,4、 常量定义5、 方法定义6、7、语法2:8、class 类名 extends 父类名 接口1,接口2,9、 类的内容10、接口说明A.接口和类、抽象类是一个层次的概念,命名规则相同。如果修饰符是public,则该接口在整个项目中可见。如果省略修饰符,则该接口只在当前包中可见。B.接口中可以定义常量,不能定义变量。接口中属性都会自动用public static final修饰,即接口中属性都是全局静态常量。接口中的常量必须在定义时指定初始值。1.public static final PI = 3.14;2.int PI = 3.14;/在接口中,这两个定义语句效果完全

14、相同3.int PI;/错误,在接口中必须指定初始值,在类中会有默认值C.接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类。D.一个类只能有一个直接父类,但可以通过implements实现多个接口。类必须实现接口的全部方法,否则必须定义为抽象类。类在继承父类的同时又实现多个接口时,extends必须位于implements之前。E.接口是一种特殊的抽象类抽象类与接口的区别A.成员区别:1.抽象类:a)成员变量:可以变量,也可以常量b)构造方法:有c)成员方法:可以抽象,也可以非抽象2.接口:a)成员变量:只可以为常量b)成员方法:只可以抽象B.关系区别:3

15、.类与类:继承,单继承4.类与接口:实现,单实现,多实现5.接口与接口:继承,单继承,多继承C.设计理念区别:6.抽象类:被继承体现的是is-a的关系。抽象类中定义的是该继承体系的共性功能。7.接口:被实现体现的是like-a的关系。接口中定义的是该继承体系的扩展功能。(在许多框架中都采用面向接口编程的思想)理解如果说子类继承超类是“is a”,即“是”的关系,类和支持类之间是“has a”,即“有”的关系,或称“组合”,那么类和接口则是“like a”,即“像是”的关系。接口表示,所有实现了我这个接口的类都具有我规定的协议,即“看起来都像我”,确切地说,“看起来都像我的签名”第7章 Java

16、中的常用类包装类(1)java八个基本数据类型: byte , char , short , int , long , float , double , boolean(2)对应的八个包装类型:Byte , Character , Short , Integer , Long , Float , Double , Boolean 都位于java.lang包中(3)装箱与拆箱:(JDK1.5(java5.0)开始支持装箱与拆箱)A:装箱: 基本类型 - 包装类型 (Integer a = 12)B:拆箱: 包装类型 - 基本类型 ( int c = a;) int c = a.intValue(

17、);C:包装类方法: .xxxValue() 拆箱 , .valueOf() 装箱 (4)包装类扩展题:A: Integer a = new Integer(12) ; Integer b = new Integer(13); System.out.println(a = b);String类 (字符串起来形成字符串 or 字符串是字符的数组)(1) public final class String . :该类不能派生子类(不能继承) (2) String对象不可变 (3) 频繁拼接效率低 (4) 常用方法 . int length(): 返回字符串的长度方法(字符的个数),注意与数组len

18、gth属性区别; . boolean equals(Object object): 将此字符串与指定的对象比较;该方法是继承自Object中,String类中对该方法进行了重写,用于比较两字符串对象的值是否相等; ( = 进行说明). int indexOf(.) : 返回指定的字符或字符串在该字符串第一次出现的索引位置如果存在则返回具体的索引位置,否则返回-1(-1表示不存在) 例如:邮箱地址中是否存在 与 . 符号则可以使用indexOf()方法;. int lastIndexOf(.):. char charAt(int index): 在指定的位置提取单个字符;. String sub

19、String(.) : 截取字符串方法;. String concat(String str) : 拼接字符串(使用+做连接). String replace(.): 替换方法. String trim();过滤该字符串前后空格. String toLowerCase() : 转换为小写. String toUpperCase() : 转换为大写. int compareTo(String anotherString) : 按字典顺序比较两字符串. static String format(.) : 格式化字符串StringBuffer类String , StringBuffer(JDK1.0

20、) , StirngBuilder(JDK5.0)区别 A:string不可变,后二者可变; B:stringbuffer就线程安全的,而StirngBuilder是线程不安全的; C:效率: StirngBuilder StringBuffer String D: String、StringBuffer、StringBuilder都是被final修饰的,是不能够被继承改写的第8章 Java中的集合CollectionList集合1、List-ArrayList(实现类):一个有序集合,可以允许重复元素、可以存null元素有序(存储有先后顺序)ArrayList在哪些场合下使用:在循环遍历与随

21、机访问时推荐使用Set集合set集合的特点: * 1、它是无序 * 2、只能存一个nullXX文库 - 让每个人平等地提升自我 * 3、不许重复泛型集合LinkedListLinkedList集合适应场合:对于频繁插入与删除则选它Map集合(key,value)HashMap:特点 * 1、用于key-value对应的关系 * 2、键不允许重复(如果重复会发生覆盖),值可以重复第9章 JAVA中的流1、File类2、java中的流(1)java中操作流的类都位于: java.io中(2)流的分类A: 按照流的流向分: 输入流与输出流. 输入流:只能从中读取数据,而不能向其写出数据; . 输出流

22、:只能向其写出数据,而不能从中读取数据; . 说明:数据从内存到硬盘,通常称为输出流,这里的输入、输出都是从程序运行所在内存的角度来划分的。B: 按照处理的数据单元不同: . 字节流:字节流操作的最小数据单元是8位字节。 . 字符流:而字符流操作的最小数据单元是16位字符。C: 按照流的角色: . 节点流:节点流也被称为低级流;(可以从/向一个特定的IO设备如磁盘、网络)读/写数据的流) . 处理流:用于对一个已存在的流进行连接或封装,通过封装后流来实现数据读/写功能。(3)字节流与字符流A:字节流 .InputStream:字节输入流; .OutputStream:字节输出流;B:字符流 .

23、Reader:字符输入流; .Write:字符输出流;3、字节流与字符流的具体类 (1)FileInputStream (2)FileReader (3)FileOutputStream (4)FileWrite4、转换流(1)输入/输出流体系里还提供了2个转换流,这两个转换流用于实现将字节流转成字符流, 其中InputStreamReader将字节输入流转换成字符输入流,OutputStreamWriter将字节 输出流转换成字符输出流。序列化 (1)序列化的含义: 序列化机制允许将实现序列化的java对象转换为字节序列,这些字节序列可以保存至磁盘上或通过网络传输,以备以后重新恢复成原来对象

24、。序列化机制使得对象可以脱离程序的运行而独立存在。 (2)如何实现对象序列化序列化操作: A:将类实现序列化接口(Serializable) B:创建一个ObjectOutputStream输出流 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(Object.txt); C:调用ObjectOutputStream对象的writeObject方法输出可序列化对象 Person per = new Person(.); oos.writeObject(per);反序列化: A:创建一个ObjectInput

25、Stream输入流 ObjectInputStream ois = new ObjectInputStream(new FileInputStream(object.txt); B:调用ObjectInputStream的readObject方法读取流中的对象 Person person = (Person) ois.readObject(); sysout(person.getPerName() + t + person.getPerAge)第10章 Java GUI和swingswing体系: (1)JFrame: Object |-Component |-Container |-wind

26、ow |-Frame |-JFrameswing pk awt(1)使用swing来开发图形界面比awt更加优秀,因为swing是一种轻量级组件,它采用100%的java实现,不再依赖于本地平台的图形界面,所以可以在所有平台上保持相同的运行效果,对跨平台支持比较出色。 (2)swing提供了比awt更多的图形界面组件,因此可以开发出更美观的图形程序。由于awt需要调用底层平台的GUI实现,所以awt只能使用各种平台上GUI组件的交集,这大大限制了awt所支持的GUI组件,而swing则不存在此问题。 (3)除此之外swing组件都采用了MVC(model-view-controller)的设计

27、从而实现GUI组件的显示逻辑和数据逻辑分离。第14章 多线程1、进程 (1)进程是系统进行资源分配的一个独立单位; 进程就是正在运程的程序; (2)进程的特征: A 独立性:每一个进程都拥有自己私有的空间。 B 动态性:进程是一个正在系统中活动的指令的集合。 C 并发性:多个进程可以在单个处理器上并发执行,多个进程之间不会互相影响。 并发性是指同一时刻只能有一条指令执行,但多个进程指令被快速轮换执行 使得宏观上具有多个进程同时执行的效果。 并行性:2.线程 (1)一个进程中至少有两个线程(两个或多个线程) (2)java多线程: A:进程是系统资源分配的独立的单元; B:进程是重量级的(它有独立内存资源空间) C:进程之间的资源共享会带来诸多麻烦 (3)为何java中使用多线程进行操作 A:线程是轻量级的,它可以共享同一个进程中的资源;3.java中多线程的开发 (1)Thread(线程)类 a: 自定义一个子类 extends Thread类 b: 重写run()方法 c: 创建线程类的对象 d: 调用start方法启动线程 (2)Runnable(接口) (3)汽车站有三个窗口,共售100票,使用线程进行处理4、线程中的生产者与消费者

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2