java复习笔记期末考试复习_第1页
java复习笔记期末考试复习_第2页
java复习笔记期末考试复习_第3页
java复习笔记期末考试复习_第4页
java复习笔记期末考试复习_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.-Java SE Java EE Java ME指什么?Java SE=Java Standard EditionJava EE=Java Enterprise EditionJava ME=Java Mobile EditionSE重要用于桌面程序,控制台开发(JFC)EE公司级开发(JSP,EJB)ME嵌入式开发(手机,小家电)2.java长处?Java语言在安全性、平台无关性、支持多线程、内存管理等许多方面具有卓越的长处。3.基本数据类型的种类和长度一种字节等于8位4.强制转换在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制转换。由于子类拥有

2、比父类更多的属性、更强的功能,因此父类转换为子类需要强制。那么,是不是只要是父类转换为子类就会成功呢?其实否则,她们之间的强制类型转换是有条件的。当我们用一种类型的构造器构造出一种对象时,这个对象的类型就已经拟定的,也就说它的本质是不会再发生变化了。在Java中我们可以通过继承、向上转型的关系使用父类类型来引用它,这个时候我们是使用功能较弱的类型引用功能较强的对象,这是可行的。但是将功能较弱的类型强制转功能较强的对象时,就不一定可以行了。基本数据类型之间的强制类型转换:java规范强烈的不建议布尔型和整型或者浮点型的进行转化,很容易出错5.有关staticstatic措施属于整个类,它不能操纵

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

4、otected: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护访问权限”。被其修饰的属性以及措施只能被类自身的措施及子类访问,虽然子类在不同的包中也可以访问。4. public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及措施不仅可以跨类访问,并且容许跨包访问7.数据初始化不管程序有无显示的初始化,Java 虚拟机都会先自动给它初始化为默认值。对于数组:1、整数类型(byte、short、int、long)的基本类型变量的默认值为0。2、单精度浮点型(float)的基本类型变量的默认值为0.0f。3、双精度浮点型(doubl

5、e)的基本类型变量的默认值为0.0d。4、字符型(char)的基本类型变量的默觉得 “/u0000”。5、布尔性的基本类型变量的默认值为 false。6、引用类型的变量是默认值为 null。7、数组引用类型的变量的默认值为 null。当数组变量的实例后,如果没有无显示的为每个元素赋值,Java 就会把该数组的所有元素初始化为其相应类型的默认值。注意:对于单个数据,如果不进行初始化不能对其进行操作,编译时报错8.数组遍历的三种措施1.for循环2.for-each语句遍历,for(datatype x: arrayname)3.迭代器Iterator遍历List list = new Array

6、List(); Iterator iterator = list.iterator(); while (iterator.hasNext() int i = Integer.parseInt(iterator.next().toString(); System.out.println(i); 9.措施重载和重写措施重载:所谓措施重载是指在一种类中,多种措施的措施名相似,但是参数列表不同。参数列表不同指的是参数个数、参数类型或者参数的顺序不同。1.在使用重载时只能通过不同的参数列表,必须具有不同的参数列表。例如,不同的参类型,不同的参数个数,不同的参数顺序。2.不能通过访问权限、返回类型、抛出的

7、异常进行重载。3.措施的异常类型和数目不会对重载导致影响。.4.可以有不同的返回类型,只要参数列表不同就可以了。5.可以有不同的访问修饰符。措施重写:当子类需要修改父类的某些措施进行扩展,增大功能,程序设计者常常把这样的一种操作措施称为重写,也叫称为覆写或覆盖。所谓措施的重写是指子类中的措施与父类中继承的措施有完全相似的返回值类型、措施名、参数个数以及参数类型。注意,重写措施时,可以增大父类中的措施权限,但是不能缩小父类的措施权限。当父类措施为private子类不能将其重写。super核心字可以从子类访问父类中的内容,如果要访问被重写过的措施,使用“super.措施名(参数列表)”的形式调用。

8、10.异常解决(1)Java把异常当作对象来解决,并定义一种基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception。Error和Exception的区别:Error一般是劫难性的致命的错误,是程序无法控制和解决的,当浮现这些异常时,Java虚拟机(JVM)一般会选择终结线程;Exception一般状况下是可以被程序解决的,并且在程序中应当尽量的去解决这些异常。(2)层次构造(3)解决措施Try-catch措施 try 块:用于捕获异常。其后可接零个或多种catch块,如果没有catch

9、块,则必须跟一种finally块。catch 块:用于解决try捕获到的异常。finally 块:无论与否捕获或解决异常,finally块里的语句都会被执行。当在try块或catch块中遇到return语句时,finally语句块将在措施返回之前被执行。编写多重catch语句块注意顺序问题:先小后大,即先子类后父类。throws措施声明抛出异常,只是抛出异常,并没有去解决它(4)自定义异常创立自定义异常类。在措施中通过throw核心字抛出异常对象。如果在目前抛出异常的措施中解决异常,可以使用try-catch语句捕获并解决;否则在措施的声明处通过throws核心字指明要抛出给措施调用者的异常,

10、继续进行下一步操作。在浮现异常措施的调用者中捕获并解决异常。class MyException extends Exception private int detail; MyException(int a) detail = a; public String toString() return MyException + detail + ; public class TestMyException static void compute(int a) throws MyException System.out.println(Called compute( + a + ); if(a 10

11、) throw new MyException(a); System.out.println(Normal exit!); public static void main(String args) try compute(1); compute(20); catch(MyException me) System.out.println(Caught + me); 11.类的继承继承的限制1.java只能显示单继承,即一种类只能有一种父类2.不容许多重继承(多重继承指的是一种类可以同步从多于一种的父类那里继承行为和特性,Java为了保证数据安全,它只容许单继承。子类只能继承一种父类,也就是说只能

12、存在单一继承,但是却可以实现多种接口,间接实现了多重集成)3.继承只能继承非私有的属性和措施4.构造措施不能被继承构造措施如果子类需要继承父类的含参构造函数则需要使用super命令(如果父类涉及多种含参构造函数则根据参数使用super命令)如果父类建立了构造函数且都具有参数,则子类必须使用super命令12.Object类Object类存储在java.lang包中,是所有java类(Object类除外)的终极父类。固然,数组也继承了Object类。然而,接口是不继承Object类的。一般来说,我们所建立的类都会有如下措施:protected Object clone()boolean equa

13、ls(Object obj)protected void finalize()Class getClass()int hashCode()void notify()void notifyAll()String toString()void wait()void wait(long timeout)void wait(long timeout, int nanos)这是由于所有其她java类都继承了Object类。13.抽象类用核心字abstract修饰的类就是抽象类,它是所有子类的公共属性(数据)和行为措施的集合,抽象类没有具体对象,是处在组织概念的层次关系而存在的类。用核心字abstract

14、修饰的措施就是抽象措施(没有抽象变量),抽象措施只有措施头,背面跟一种分号(;),没有措施体,抽象措施的措施体可在其子类中根据子类的具体状况来实现,抽象措施只存在抽象类或接口中。14.final类声明为final的类不能是父类,即final不再派生子类,final可以用来修饰变量和措施。 final类是处在类的最底层的类,如果没必要再派生子类,一般用final核心字来修饰,表白它是最后类,被final修饰的类一般是有固定作用,完毕一定原则功能的类,例如java库中的数学类Math等。 abstract和final不能同步使用,核心字abstract不能修饰实例变量,也不能与private、st

15、atic、final等同步修饰一种成员措施,并且abstract类必须在abstract类中。核心字static修饰的措施只能修饰static成员变量,同步static修饰的成员变量和措施不能this引用.。15.接口接口(Interface),在JAVA编程语言中是一种抽象类型,是抽象措施的集合。接口一般以interface来声明。一种类通过继承办口的方式,从而来继承办口的抽象措施。如果一种类只由抽象措施和全局常量构成,那么这种状况下不会将其定义为一种抽象类。只会定义为一种接口,因此接口严格的来讲属于一种特殊的类,而这个类里面只有抽象措施和全局常量,就连构造措施也没有。由于接口里面存在抽象措

16、施,因此接口对象不能直接使用核心字new进行实例化。接口的使用原则如下:(1)接口可以多继承,如interface C extends A,B/使用的是extends(2)接口必须要有子类,但此时一种子类可以使用implements核心字实现多种接口;(3)接口的子类(如果不是抽象类),那么必须要覆写接口中的所有抽象措施;(4)接口的对象可以运用子类对象的向上转型进行实例化。注意:,接口中的访问权限只有一种:public,即:定义接口措施和全局常量的时候就算没有写上public,那么最后的访问权限也是public,注意不是default。若子类中没用public修饰,则访问权限变严格了,给子类

17、分派的是更低的访问权限。因此,在定义接口的时候强烈建议在抽象措施前加上public。15.塑型塑型(type-casting)又称为类型转换方式。将对象临时当成更一般的对象来看待,并不变化其类型只能被塑型为父类类型。当一种类对象被塑型为其父类后,它提供的措施会减少。措施的查找总是在变量声明时所属的类中进行查找。16. 多态多态的定义:指容许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)。多态存在的三个必要条件一、要有继承;二、要有重写;三、父类引用指向子类对象。多态性有两种:1)编译时多态性对于多种同名措施,如果在编译时可以拟

18、定执行同名措施中的哪一种,则称为编译时多态性.2)运营时多态性如果在编译时不能拟定,只能在运营时才干拟定执行多种同名措施中的哪一种,则称为运营时多态性具有继承关系的多态调用在继承链中对象措施的调用存在一种优先级:this.show(O)、super.show(O)、this.show(super)O)、super.show(super)O)。17. 虚措施调用Java虚措施你可以理解为java里所有被overriding的措施都是virtual的,所有重写的措施都是override的。虚措施和抽象措施并不是同一种概念。18.I/O流Java中的流,可以从不同的角度进行分类。 按照数:输入流和输

19、出流。按照解决数据单位不同可以分为:字节流和字符流。按照实现功能不同可以分为:节点流和解决流。输出流:从程序输出到文献输入流:从文献输入到程序字节流:一次读入或读出是8位二进制。字符流:一次读入或读出是16位二进制。Jdk提供的流继承了四大类:InputStream(字节输入流),OutputStream(字节输出流),Reader(字符输入流),Writer(字符输出流)。常用的类和措施:FileWriter writer = new FileWriter(fileName);writer.close();FileWriter writer = new FileWriter(filename

20、,true);/追加反复内容BufferWriter out = new BufferWriter(new FileWriter(fileName);/缓冲器流,高效BufferReader in = new BufferReader(new FileWriter(fileName);DataOutputStream out = new DataOutputStream (new FileOutputStream(fileName);/写DataInputStream out = new DataInputStream (new FileInputStream(fileName);/读还可以嵌

21、套一种BufferedInputStream,提高效率对象序列化写对象:ObjectOutputStream ofs1 =new ObjectOutputStream(new FileOutputStream(ofs);从文献中读对象:ObjectInputStream ifs1=new ObjectInputStream(new FileInputStream(ifs);迭代遍历:Iterator i = students.values().iterator();while(i.hasNext()ofs1.writeObject(i.next();19.集合Collection是最基本的集合

22、接口List 接口和 Set 接口的父接口,一种Collection代表一组Object,即Collection的元素(Elements)。Set接口同样是Collection接口的一种子接口,它表达数学意义上的集合概念。Set中不涉及反复的元素,即Set中不存两个这样的元素e1和e2,使得e1.equals(e2)为true。Map:key-value 的键值对,key 不容许反复,value 可以1、严格来说 Map 并不是一种集合,而是两个集合之间 的映射关系。2、这两个集合没每一条数据通过映射关系,我们可以当作是一条数据。即 Entry(key,value)。Map 可以当作是由多种

23、Entry 构成。3、由于 Map 集合即没有实现于 Collection 接口,也没有实现 Iterable 接口,因此不能对 Map 集合进行 for-each 遍历。20. 多线程两种实现方式:新建一种继承Thread类的线程类,其中有一种重写的run措施新建一种实现Runnable接口的类,这个类在新线程中运营。New Thread(t).start线程中的数据共享:只用一种Runnable对象为参数创立多种线程,new Thread(对象名,“线程名”).start线程的同步控制:锁旗标synchronized(对象)代码段,可以放在run措施里,也可以放在共享的资源类中作为一种措施public synchronized type name()21.泛型泛型,即“参数化类型”。一提到参数,最熟悉的就是定义措施时有形参,然后调用此措施时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由本来的具体的类型参数化,类似于措施中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。把类重新设计,使用泛型,强制转换的错误将被编译器捕获,而

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论