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

下载本文档

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

文档简介

1.-JavaSEJavaEEJavaME指什么?JavaSE=JavaStandardEditionJavaEE=JavaEnterpriseEditionJavaME=JavaMobileEditionSE重要用于桌面程序,控制台開发(JFC)EE企业级開发(JSP,EJB)ME嵌入式開发(手机,小家電)2.java長处?Java語言在安全性、平台無关性、支持多线程、内存管理等許多方面具有卓越的長处。3.基本数据类型的种类和長度一种字节等于8位4.强制转换在Java中由于继承和向上转型,子类可以非常自然地转换成父类,不過父类转换成子类则需要强制转换。由于子类拥有比父类更多的属性、更强的功能,因此父类转换為子类需要强制。那么,是不是只要是父类转换為子类就會成功呢?其实否则,他們之间的强制类型转换是有条件的。當我們用一种类型的构造器构造出一种對象時,這個對象的类型就已經确定的,也就說它的本质是不會再发生变化了。在Java中我們可以通過继承、向上转型的关系使用父类类型来引用它,這個時候我們是使用功能较弱的类型引用功能较强的對象,這是可行的。不過将功能较弱的类型强制转功能较强的對象時,就不一定可以行了。基本数据类型之间的强制类型转换:java规范强烈的不提议布尔型和整型或者浮點型的進行转化,很轻易出錯5.有关staticstatic措施属于整個类,它不能操纵和处理属于某個對象的成员变量,只能处理属于整個类的组员变量,即static措施只能处理本类中的static变量或调用static措施。6.调用权限public是公共措施,在你的這個项目裏面你所有的类都能访問這個措施,不加的话就是默认的default這個是只能在你目前包裏才能调用這個措施1.private:Java語言中對访問权限限制的最窄的修饰符,一般称之為“私有的”。被其修饰的属性以及措施只能被该类的對象访問,其子类不能访問,更不能容許跨包访問。2.default:即不加任何访問修饰符,一般称為“默认访問权限“或者“包访問权限”。该模式下,只容許在同一种包中進行访問。3.protected:介于public和private之间的一种访問修饰符,一般称之為“保护访問权限”。被其修饰的属性以及措施只能被类自身的措施及子类访問,虽然子类在不一样的包中也可以访問。4.public:Java語言中访問限制最宽的修饰符,一般称之為“公共的”。被其修饰的类、属性以及措施不仅可以跨类访問,并且容許跨包访問7.数据初始化不管程序有無显示的初始化,Java

虚拟机都會先自動給它初始化為默认值。對于数组:1、整数类型(byte、short、int、long)的基本类型变量的默认值為0。2、單精度浮點型(float)的基本类型变量的默认值為0.0f。3、双精度浮點型(double)的基本类型变量的默认值為0.0d。4、字符型(char)的基本类型变量的默认為“/u0000”。5、布尔性的基本类型变量的默认值為false。6、引用类型的变量是默认值為null。7、数组引用类型的变量的默认值為null。當数组变量的实例後,假如没有無显示的為每個元素赋值,Java就會把该数组的所有元素初始化為其對应类型的默认值。注意:對于單個数据,假如不進行初始化不能對其進行操作,编译時报錯8.数组遍历的三种措施 1.for循环 2.for-each語句遍历,for(datatypex:arrayname)3.迭代器Iterator遍历Listlist=newArrayList();

Iteratoriterator=list.iterator();while(iterator.hasNext()){inti=Integer.parseInt(iterator.next().toString());(i);}9.措施重载和重写 措施重载:所谓措施重载是指在一种类中,多种措施的措施名相似,不過参数列表不一样。参数列表不一样指的是参数個数、参数类型或者参数的次序不一样。1.在使用重载時只能通過不一样的参数列表,必须具有不一样的参数列表。例如,不一样的参类型,不一样的参数個数,不一样的参数次序。2.不能通過访問权限、返回类型、抛出的异常進行重载。

3.措施的异常类型和数目不會對重载导致影响。..

4.可以有不一样的返回类型,只要参数列表不一样就可以了。

5.可以有不一样的访問修饰符。措施重写:當子类需要修改父类的某些措施進行扩展,增大功能,程序设计者常常把這样的一种操作措施称為重写,也叫称為覆写或覆盖。所谓措施的重写是指子类中的措施与父类中继承的措施有完全相似的返回值类型、措施名、参数個数以及参数类型。注意,重写措施時,可以增大父类中的措施权限,不過不能缩小父类的措施权限。當父类措施為private子类不能将其重写。super关键字可以從子类访問父类中的内容,假如要访問被重写過的措施,使用“super.措施名(参数列表)”的形式调用。10.异常处理(1)Java把异常當作對象来处理,并定义一种基类作為所有异常的超类。在JavaAPI中已經定义了許多异常类,這些异常类分為两大类,錯误Error和异常Exception。Error和Exception的区别:Error一般是劫难性的致命的錯误,是程序無法控制和处理的,當出現這些异常時,Java虚拟机(JVM)一般會选择终止线程;Exception一般状况下是可以被程序处理的,并且在程序中应當尽量的去处理這些异常。 (2)层次构造(3)处理措施Try-catch措施try块:用于捕捉异常。其後可接零個或多种catch块,假如没有catch块,则必须跟一种finally块。catch块:用于处理try捕捉到的异常。finally块:無论与否捕捉或处理异常,finally块裏的語句都會被执行。當在try块或catch块中碰到return語句時,finally語句块将在措施返回之前被执行。编写多重catch語句块注意次序問題:先小後大,即先子类後父类。throws措施申明抛出异常,只是抛出异常,并没有去处理它(4)自定义异常创立自定义异常类。在措施中通過throw关键字抛出异常對象。假如在目前抛出异常的措施中处理异常,可以使用try-catch語句捕捉并处理;否则在措施的申明处通過throws关键字指明要抛出給措施调用者的异常,继续進行下一步操作。在出現异常措施的调用者中捕捉并处理异常。classMyExceptionextendsException{privateintdetail;MyException(inta){detail=a;}publicStringtoString(){return"MyException["+detail+"]";}}publicclassTestMyException{staticvoidcompute(inta)throwsMyException{("Calledcompute("+a+")");if(a>10){thrownewMyException(a);}("Normalexit!");}publicstaticvoidmain(String[]args){try{compute(1);compute(20);}catch(MyExceptionme){("Caught"+me);}}}11.类的继承继承的限制1.java只能显示單继承,即一种类只能有一种父类2.不容許多重继承(多重继承指的是一种类可以同步從多于一种的父类那裏继承行為和特性,Java為了保证数据安全,它只容許單继承。子类只能继承一种父类,也就是說只能存在單一继承,不過却可以实現多种接口,间接实現了多重集成)3.继承只能继承非私有的属性和措施4.构造措施不能被继承构造措施假如子类需要继承父类的含参构造函数则需要使用super命令(假如父类包括多种含参构造函数则根据参数使用super命令)

假如父类建立了构造函数且都具有参数,则子类必须使用super命令12.Object类Object类存储在java.lang包中,是所有java类(Object类除外)的终极父类。當然,数组也继承了Object类。然而,接口是不继承Object类的。一般来說,我們所建立的类都會有如下措施:protectedObjectclone()booleanequals(Objectobj)protectedvoidfinalize()Class<>getClass()inthashCode()voidnotify()voidnotifyAll()StringtoString()voidwait()voidwait(longtimeout)voidwait(longtimeout,intnanos)這是由于所有其他java类都继承了Object类。13.抽象类用关键字abstract修饰的类就是抽象类,它是所有子类的公共属性(数据)和行為措施的集合,抽象类没有详细對象,是处在组织概念的层次关系而存在的类。用关键字abstract修饰的措施就是抽象措施(没有抽象变量),抽象措施只有措施頭,背面跟一种分号(;),没有措施体,抽象措施的措施体可在其子类中根据子类的详细状况来实現,抽象措施只存在抽象类或接口中。14.final类申明為final的类不能是父类,即final不再派生子类,final可以用来修饰变量和措施。

final类是处在类的最底层的类,假如没必要再派生子类,一般用final关键字来修饰,表明它是最终类,被final修饰的类一般是有固定作用,完毕一定原则功能的类,例如java库中的数學类Math等。

abstract和final不能同步使用,关键字abstract不能修饰实例变量,也不能与private、static、final等同步修饰一种组员措施,并且abstract类必须在abstract类中。关键字static修饰的措施只能修饰static组员变量,同步static修饰的组员变量和措施不能this引用.。15.接口接口(Interface),在JAVA编程語言中是一种抽象类型,是抽象措施的集合。接口一般以interface来申明。一种类通過继承接口的方式,從而来继承接口的抽象措施。假如一种类只由抽象措施和全局常量构成,那么這种状况下不會将其定义為一种抽象类。只會定义為一种接口,因此接口严格的来讲属于一种特殊的类,而這個类裏面只有抽象措施和全局常量,就连构造措施也没有。由于接口裏面存在抽象措施,因此接口對象不能直接使用关键字new進行实例化。接口的使用原则如下:(1)接口可以多继承,如interfaceCextendsA,B{…}//使用的是extends

(2)接口必须要有子类,但此時一种子类可以使用implements关键字实現多种接口;

(3)接口的子类(假如不是抽象类),那么必须要覆写接口中的所有抽象措施;

(4)接口的對象可以运用子类對象的向上转型進行实例化。注意:,接口中的访問权限只有一种:public,即:定义接口措施和全局常量的時候就算没有写上public,那么最终的访問权限也是public,注意不是default。若子类中没用public修饰,则访問权限变严格了,給子类分派的是更低的访問权限。因此,在定义接口的時候强烈提议在抽象措施前加上public

。15.塑型塑型(type-casting)又称為类型转换方式。将對象临時當成更一般的對象来看待,并不变化其类型只能被塑型為父类类型。當一种类對象被塑型為其父类後,它提供的措施會減少。措施的查找——總是在变量申明時所属的类中進行查找。16.多态多态的定义:指容許不一样类的對象對同一消息做出响应。即同一消息可以根据发送對象的不一样而采用多种不一样的行為方式。(发送消息就是函数调用)。多态存在的三個必要条件一、要有继承;二、要有重写;三、父类引用指向子类對象。多态性有两种:1)编译時多态性對于多种同名措施,假如在编译時可以确定执行同名措施中的哪一种,则称為编译時多态性.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中的流,可以從不一样的角度進行分类。按照数:输入流和输出流。按照处理数据單位不一样可以分為:字节流和字符流。按照实現功能不一样可以分為:节點流和处理流。输出流:從程序输出到文献输入流:從文献输入到程序字节流:一次讀入或讀出是8位二進制。字符流:一次讀入或讀出是16位二進制。Jdk提供的流继承了四大类:InputStream(字节输入流),OutputStream(字节输出流),Reader(字符输入流),Writer(字符输出流)。常用的类和措施:FileWriterwriter=newFileWriter(fileName);writer.close();FileWriterwriter=newFileWriter(filename,true);//追加反复内容BufferWriterout=newBufferWriter(newFileWriter(fileName));//缓冲器流,高效BufferReaderin=newBufferReader(newFileWriter(fileName));DataOutputStreamout=newDataOutputStream(newFileOutputStream((fileName)));//写DataInputStreamout=newDataInputStream(newFileInputStream((fileName)));//讀還可以嵌套一种BufferedInputStream,提高效率對象序列化写對象:ObjectOutputStreamofs1=newObjectOutputStream(newFileOutputStream(ofs));從文献中讀對象:ObjectInputStreamifs1=newObjectInputStream(newFileInputStream(ifs));迭代遍历:Iterator<Student>i=students.values().iterator(); while(i.hasNext()) { 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并不是一种集合,而是两個集合之间的映射关系。

2、這两個集合没每一条数据通過映射关系,我們可以當作是一条数据。即Entry(key,value)。Map可以當作是由多种Entry构成。

3、由于Map集合即没有实現于Collection接口,也没有实現Iterable接口,因此不能對Map集合進行for-each遍历。20.多线程 两种实現方式: 新建一种继承Thread类的线程类,其中有一种重写的run措施 新建一种实現Runnable接口的类,這個类在新线程中运行。NewThread(t).start 线程中的数据共享: 只用一种Runnable對象為参数创立多种线程,newThread(對象名,“线程名”).start 线程的同步控制: 锁旗標synchronized(對象){代码段},可以放在run措施裏,也可以放在共享的资源类中作為一种措施publicsynchronized[type][name](){}21.泛型 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义措施時有形参,然後调用此措施時传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由本来的详细的类型参数化,类似于措施中的变量参数,此時类型也定义成参数形式(可以称之為类型形参),然後在使用/调用時传入详细的类型(类型实参)。 把类重新设计,使用泛型,强制转换的錯误将被

温馨提示

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

评论

0/150

提交评论