2022年java复习笔记 .pdf

上传人:C****o 文档编号:24115291 上传时间:2022-07-03 格式:PDF 页数:17 大小:587.50KB
返回 下载 相关 举报
2022年java复习笔记 .pdf_第1页
第1页 / 共17页
2022年java复习笔记 .pdf_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《2022年java复习笔记 .pdf》由会员分享,可在线阅读,更多相关《2022年java复习笔记 .pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、优秀教案欢迎下载1.-Java SE Java EE Java ME指什么?Java SE=Java Standard Edition Java EE=Java Enterprise Edition Java ME=Java Mobile Edition SE 主要用于桌面程序,控制台开发 (JFC) EE 企业级开发 (JSP,EJB) ME 嵌入式开发 (手机 ,小家电 ) 2.java 优点?Java 语言在安全性、平台无关性、支持多线程、内存管理等许多方面具有卓越的优点。3.基本数据类型的种类和长度一个字节等于8 位名师归纳总结 精品学习资料 - - - - - - - - - - -

2、 - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载4.强制转换在 Java 中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制转换。因为子类拥有比父类更多的属性、更强的功能, 所以父类转换为子类需要强制。 那么, 是不是只要是父类转换为子类就会成功呢?其实不然,他们之间的强制类型转换是有条件的。当我们用一个类型的构造器构造出一个对象时,这个对象的类型就已经确定的,也就说它的本质是不会再发生变化了。在Java 中我们可以通过继承、向上转

3、型的关系使用父类类型来引用它, 这个时候我们是使用功能较弱的类型引用功能较强的对象,这是可行的。 但是将功能较弱的类型强制转功能较强的对象时,就不一定可以行了。基本数据类型之间的强制类型转换:java 规范强烈的不建议布尔型和整型或者浮点型的进行转化,很容易出错名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载5.关于 static static方法属于整个类,它不能操纵和处理属于某个对象的成员

4、变量,只能处理属于整个类的成员变量,即static 方法只能处理本类中的static 变量或调用static 方法。6.调用权限public 是公共方法, 在你的这个项目里面你所有的类都能访问这个方法,不加的话就是默认的default 这个是只能在你当前包里才能调用这个方法1. private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。2. default :即不加任何访问修饰符,通常称为“默认访问权限“或者“包访问权限”。该模式下,只允许在同一个包中进行访问。3. protected:

5、介于 public 和 private 之间的一种访问修饰符,一般称之为“保护访问权限”。被其修饰的属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。4. public : Java 语言中访问限制最宽的修饰符,一般称之为“公共的”。 被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包访问7.数据初始化不管程序有没有显示的初始化,Java 虚拟机都会先自动给它初始化为默认值。对于数组:1、整数类型( byte 、short 、int、long )的基本类型变量的默认值为0。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整

6、理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载2、单精度浮点型(float )的基本类型变量的默认值为0.0f。3、双精度浮点型(double )的基本类型变量的默认值为0.0d 。4、字符型( char)的基本类型变量的默认为“ /u0000 ”。5、布尔性的基本类型变量的默认值为false 。6、引用类型的变量是默认值为null。7、数组引用类型的变量的默认值为null。当数组变量的实例后,如果没有没有显示的为每个元素赋值,Java 就会把该数组的所有元素初始化为其相应类型的默

7、认值。注意:对于单个数据,如果不进行初始化不能对其进行操作,编译时报错8.数组遍历的三种方法1.for 循环2.for-each语句遍历, for(datatype x: arrayname) 3.迭代器 Iterator 遍历 List list = new ArrayList(); Iterator iterator = list.iterator(); while (iterator.hasNext() int i = Integer.parseInt(iterator.next().toString(); System.out.println(i); 9.方法重载和重写名师归纳总结 精

8、品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载方法重载:所谓方法重载是指在一个类中,多个方法的方法名相同,但是参数列表不同。参数列表不同指的是参数个数、参数类型或者参数的顺序不同。1.在使用重载时只能通过不同的参数列表,必须具有不同的参数列表。例如,不同的参类型,不同的参数个数,不同的参数顺序。2.不能通过访问权限、返回类型、抛出的异常进行重载。3.方法的异常类型和数目不会对重载造成影响。. 4.可以有不同

9、的返回类型,只要参数列表不同就可以了。5.可以有不同的访问修饰符。方法重写: 当子类需要修改父类的一些方法进行扩展,增大功能, 程序设计者常常把这样的一种操作方法称为重写,也叫称为覆写或覆盖。所谓方法的重写是指子类中的方法与父类中继承的方法有完全相同的返回值类型、方法名、参数个数以及参数类型。注意,重写方法时,可以增大父类中的方法权限,但是不能缩小父类的方法权限。当父类方法为private子类不能将其重写。super 关键字可以从子类访问父类中的内容,如果要访问被重写过的方法,使用“ super.名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳

10、 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载方法名 (参数列表 ) ”的形式调用。10.异常处理(1)Java 把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API 中已经定义了许多异常类,这些异常类分为两大类,错误Error 和异常 Exception 。Error 和 Exception的区别: Error 通常是灾难性的致命的错误,是程序无法控制和处理的, 当出现这些异常时,Java 虚拟机(JVM ) 一般会选择终止线

11、程;Exception通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常。(2)层次结构(3)处理方法Try-catch 方法try 块:用于捕获异常。其后可接零个或多个catch 块,如果没有catch 块,则必名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载须跟一个 finally 块。catch 块:用于处理try 捕获到的异常。finally 块:无论是否捕获或处理异

12、常,finally 块里的语句都会被执行。当在try 块或 catch 块中遇到return 语句时, finally 语句块将在方法返回之前被执行。编写多重 catch 语句块注意顺序问题:先小后大,即先子类后父类。throws 方法声明抛出异常,只是抛出异常,并没有去处理它(4)自定义异常创建自定义异常类。在方法中通过throw关键字抛出异常对象。如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。在出现异常方法的调用者中捕获并处理异常。class MyException e

13、xtends Exception privateint detail; MyException(int a) detail = a; public String toString() return MyException + detail + ; publicclass TestMyException staticvoid compute( int a) throws MyException System.out.println(Called compute( + a + ); if (a 10) thrownew MyException(a); System.out.println(Norm

14、al exit!); 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载 publicstaticvoid main(String args) try compute(1); compute(20); catch (MyException me) System.out.println(Caught + me); 11.类的继承继承的限制1.java 只能显示单继承,即一个类只能有一个父类2.不允

15、许多重继承(多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,Java 为了保证数据安全,它只允许单继承。子类只能继承一个父类,也就是说只能存在单一继承,但是却可以实现多个接口,间接实现了多重集成)3.继承只能继承非私有的属性和方法4.构造方法不能被继承构造方法如果子类需要继承父类的含参构造函数则需要使用super 命令(如果父类包含多个含参构造函数则依据参数使用super 命令)如果父类建立了构造函数且都含有参数,则子类必须使用super 命令12.Object 类Object类存储在java.lang包中,是所有 java类(Object类除外 )的终极父类。 当然,数组也继

16、承了Object类。然而,接口是不继承Object类的。一般来说,我们所建立的类都会有如下方法:protected Object clone() boolean equals(Object obj) protected void finalize() Class getClass() int hashCode() void notify() 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载vo

17、id notifyAll() String toString() void wait() void wait(long timeout) void wait(long timeout, int nanos) 这是因为所有其他java类都继承了Object类。13.抽象类用关键字 abstract 修饰的类就是抽象类,它是所有子类的公共属性(数据 )和行为方法的集合,抽象类没有具体对象,是处于组织概念的层次关系而存在的类。用关键字 abstract 修饰的方法就是抽象方法(没有抽象变量 ),抽象方法只有方法头,后面跟一个分号 (;),没有方法体,抽象方法的方法体可在其子类中根据子类的具体情况来实

18、现,抽象方法只存在抽象类或接口中。14.final 类声明为 final 的类不能是父类,即final 不再派生子类,final 可以用来修饰变量和方法。final 类是处在类的最底层的类,如果没必要再派生子类,通常用final 关键字来修饰,表明它是最终类,被final 修饰的类通常是有固定作用,完成一定标准功能的类,例如java库中的数学类Math 等。abstract 和 final 不能同时使用,关键字abstract 不能修饰实例变量,也不能与private 、static 、final 等同时修饰一个成员方法,并且 abstract 类必须在abstract 类中。 关键字 sta

19、tic修饰的方法只能修饰static 成员变量,同时static 修饰的成员变量和方法不能this 引用 .。15.接口接口( Interface ) ,在 JAVA 编程语言中是一个抽象类型,是抽象方法的集合。接口通名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载常以 interface 来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。如果一个类只由抽象方法和全局常量组成,那么这

20、种情况下不会将其定义为一个抽象类。只会定义为一个接口,所以接口严格的来讲属于一个特殊的类,而这个类里面只有抽象方法和全局常量,就连构造方法也没有。由于接口里面存在抽象方法,所以接口对象不能直接使用关键字new 进行实例化。接口的使用原则如下:(1)接口可以多继承,如interfaceC extendsA, B / 使用的是 extends(2)接口必须要有子类,但此时一个子类可以使用implements关键字实现多个接口;(3)接口的子类(如果不是抽象类),那么必须要覆写接口中的全部抽象方法;(4)接口的对象可以利用子类对象的向上转型进行实例化。注意: ,接口中的访问权限只有一种:public

21、 ,即:定义接口方法和全局常量的时候就算没有写上public , 那么最终的访问权限也是public , 注意不是 default 。 若子类中没用public修饰, 则访问权限变严格了,给子类分配的是更低的访问权限。所以,在定义接口的时候强烈建议在抽象方法前加上public 。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载15.塑型塑型(type-casting) 又称为类型转换方式。将

22、对象暂时当成更一般的对象来对待,并不改变其类型只能被塑型为父类类型。当一个类对象被塑型为其父类后,它提供的方法会减少。方法的查找总是在变量声明时所属的类中进行查找。16. 多态多态的定义: 指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载多态存在的三个必要条件一、要有继承

23、;二、要有重写;三、父类引用指向子类对象。多态性有两种: 1)编译时多态性对于多个同名方法,如果在编译时能够确定执行同名方法中的哪一个,则称为编译时多态性. 2)运行时多态性如果在编译时不能确定,只能在运行时才能确定执行多个同名方法中的哪一个,则称为运行时多态性具有继承关系的多态调用在 继 承 链 中 对 象 方 法的调用 存 在 一 个 优 先 级: this.show(O)、 super.show(O)、this.show(super)O)、super.show(super)O)。17. 虚方法调用Java虚方法你可以理解为java里所有被overriding的方法都是virtual的,所

24、有重写的方法都是override的。虚方法和抽象方法并不是同一个概念。18.I/O流Java 中的流,可以从不同的角度进行分类。按照数:输入流和输出流。按照处理数据名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 12 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载单位不同可以分为:字节流和字符流。按照实现功能不同可以分为:节点流和处理流。输出流:从程序输出到文件输入流:从文件输入到程序字节流:一次读入或读出是8 位二进制。字符流:一次读入或读

25、出是16 位二进制。Jdk 提供的流继承了四大类:InputStream( 字节输入流 ), OutputStream (字节输出流) ,Reader (字符输入流) ,Writer (字符输出流) 。常用的类和方法: FileWriter writer = new FileWriter(fileName); writer.close(); FileWriter writer = new FileWriter(filename,true);/追加重复内容BufferWriter out = new BufferWriter(new FileWriter(fileName);/缓冲器流,高效Bu

26、fferReader in = new BufferReader(new FileWriter(fileName); DataOutputStream out = new DataOutputStream (new FileOutputStream(fileName);/写DataInputStream out = new DataInputStream (new FileInputStream(fileName);/读还可以嵌套一个BufferedInputStream,提高效率名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料

27、- - - - - - - - - - - - - - - 第 13 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载对象序列化写对象:ObjectOutputStream ofs1 =new ObjectOutputStream(new FileOutputStream(ofs); 从 文件 中读对 象 :ObjectInputStream ifs1=new ObjectInputStream(new FileInputStream(ifs); 迭代遍历: Iterator i = students.values().iterator(); while(i.hasNex

28、t() ofs1.writeObject(i.next(); 19.集合Collection是最基本的集合接口List 接口和Set 接口的父接口,一个Collection代表一组 Object ,即 Collection的元素( Elements ) 。Set 接口同样是Collection接口的一个子接口,它表示数学意义上的集合概念。Set中不包含重复的元素,即Set 中不存两个这样的元素e1 和 e2,使得 e1.equals(e2) 为true 。Map:key-value 的键值对, key 不允许重复,value 可以1、严格来说Map 并不是一个集合,而是两个集合之间的映射关系。

29、 2、这两个集合没每一条数据通过映射关系,我们可以看成是一条数据。即名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 14 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载Entry(key,value) 。Map 可以看成是由多个Entry 组成。 3、因为Map 集合即没有实现于Collection 接口,也没有实现Iterable 接口,所以不能对Map 集合进行for-each 遍历。20. 多线程两种实现方式:新建一个继承Thread

30、类的线程类,其中有一个重写的run 方法新建一个实现Runnable 接口的类,这个类在新线程中运行。New Thread(t).start 线程中的数据共享:只用一个 Runnable 对象为参数创建多个线程,new Thread( 对象名,“线程名”).start 线程的同步控制: 锁旗标 synchronized( 对象 )代码段 ,可以放在run 方法里,也可以放在共享的资源类中作为一个方法public synchronized type name() 21.泛型名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - -

31、 - - - - - - - - - - - - 第 15 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载泛型,即“参数化类型” 。 一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。 那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用 /调用时传入具体的类型(类型实参)。把类重新设计, 使用泛型, 强制转换的错误将被编译器捕获,而不是在运行时出错导致程序崩溃public class Box private T t; / T stands for T

32、ype public void add(Tt) this.t= t; public Tget() return t; 22.参数传递Java 中只存在值传递。如果参数类型是原始类型,那么传过来的就是这个参数的一个副本,也就是这个原始参数的值,这个跟之前所谈的传值是一样的。如果在函数中改变了副本的值不会改变原始的值。如果参数类型是引用类型,那么传过来的就是这个引用参数的副本,这个副本存放的是参数的地址。 如果在函数中没有改变这个副本的地址,而是改变了地址中的值,那么在函数名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - -

33、- - - - - - - - - - - - 第 16 页,共 17 页 - - - - - - - - - 优秀教案欢迎下载内的改变会影响到传入的参数。如果在函数中改变了副本的地址,如new 一个,那么副本就指向了一个新的地址,此时传入的参数还是指向原来的地址,所以不会改变参数的值。分以下四种情况进行讨论:如果传原始类型,且不希望改变值,那么就直接传递即可如果传原始类型,且希望改变值, 那么必须将其变成引用类型,建一个类生成两个对象使其成员变量等于原始数据,操作这两个对象即可,过程变得比较繁杂。如果传引用类型,且不希望改变其值,则必须new 一个新的对象,用该对象的引用进行操作;如果传引用

34、类型,且希望改变其值,直接传入对象的引用即可。23.关于父子类构造函数父类的构造函数不能被子类继承、重写,使用 super 调用父类构造器的语句必须是子类构造器的第一条语句.如果子类构造器没有显式地调用父类的构造器,则将自动调用父类的默认(没有参数)的构造器.如果父类没有不带参数的构造器,并且在子类的构造器中又没有显式地调用父类的构造器,则 java 编译器将报告错误对于父类的私有化属性,在子类中只能通过调用父类的构造器对其进行赋值,不能通过父类的对象调用父类的私有化属性。这就是为什么要用super 对父类私有化属性进行赋值。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 17 页,共 17 页 - - - - - - - - -

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

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁