您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > Java部分复习资料
JAVA部分复习资料第一章Java具有众多优点,主要有:简单面向对象可移植与硬件无关系统强健安全高性能分布性多线程动态性JavaApplet的特点Applet是一种特殊的Java程序,它嵌入到HTML语言中使用。利用Applet,我们可以非常方便地在Internet上实现多媒体的用户界面或进行复杂的计算。只要具备支持Java的浏览器都可运行Applet。Applet程序对于本地机器是安全的。Java虚拟机Java虚拟机是一个想象中的“机器”,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。为什么要使用Java虚拟机Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。Java虚拟机屏蔽了与具体平台的相关信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java运行环境之JDKSun公司的Java技术平台按其应用环境的不同分为三个著名的版本,他们是:J2SE:用于桌面应用程序的开发J2EE:用于企业级应用程序的开发J2ME:用于移动设备及其他消费类电子产品的程序开发Java运行环境之JDK通常我们所说的JDK工具包是指:J2SE的SDK。需要注意的是Sun公司为不同的操作系统提供了不同的JDK。JDK包括了Java程序的开发工具(如javac命令)、运行环境(java命令等)及核心类、包等。Java程序结构如果Java源文件包含一个public类,则文件名必须按该类名来命名。一个Java源文件中最多只能有一个public类,其他类的个数不限。Java应用程序示例HelloWorldApp.java文件源代码:publicclassHelloWorldApp{publicstaticvoidmain(Stringargs[]){System.out.println(欢迎来到Java的世界!);}}第二章Java中的注释语句Java有三种注释方式:单行注释://多行注释:/*…*/doc注释:/**…*/标识符标识符指:对程序中各种元素(如:变量、常量、类、接口等)加以命名的记号。在Java中,标识符可以以字母、下划线或美元符号($)开头。在Java中,标识符是区分大小写的。同时,保留字不能作为标识符使用。标识符示例合法的标识符,如:intCount_sysValue$changestrTemp非法的标识符,如:2mail错误原因:以数字开头room#错误原因:含有非法字符#class错误原因:class为Java保留字数组在Java中,数组是一种引用类型。数组是有序数据的集合,数组中的每个元素具有相同的数据类型。数组的第一个元素下标为0。数组中元素总数由数组对象的属性length指明。不能对数组的length属性赋值。一维数组的声明声明一维数组的基本格式如下:数据类型数组名[];或数据类型[]数组名;如:int[]myArray;DatemyDate[];第三章类和对象类,是具有共同属性和行为的对象的一种抽象。对象,表示现实世界中某个具体的事物。类体类体中定义了该类所有的变量和该类所支持的方法。格式如下:classclassName{//成员变量[public|protected|private][static][final][transient][volatile]数据类型变量名;//成员方法[public|protected|private][static][final|abstract][native][synchronized]返回类型方法名(参数列表)[异常声明]{方法体}}成员变量说明成员变量的类型可以是Java中任意的数据类型,包括简单类型、类、接口、数组。在一个类中,成员变量应该是唯一的。成员方法说明成员方法的返回类型可以是任意的Java数据类型。当一个方法不需要返回值时使用void。方法的参数类型可以是简单数据类型,也可以是引用数据类型(如:数据、类、接口等)。方法中若有多个参数时,使用逗号“,”进行分隔。如:voidgetInfo(Strings,inti)方法体方法体是对方法的实现,包含局部变量及合法的Java语句。方法体中的局部变量,其作用域只在该方法内部。当方法执行完毕后,局部变量也不再存在。如果局部变量与类的成员变量具有相同的变量名,则类的成员变量被隐藏。方法重载方法重载指:多个方法可以具有相同的方法名。但是,这些方法的参数必须不同,或者参数个数不同,或者参数类型不同。方法重载说明编译器根据参数的个数和类型来决定当前该使用重载中的哪个方法。注意:方法的返回类型不能作为方法重载的标志。构造方法构造方法是一种特殊的方法,用来初始化该类的一个新的对象。构造方法的名称和类名相同,而且没有返回值。构造方法同样可以进行重载。finalize()方法在对对象进行垃圾收集前,Java运行时系统会自动调用对象的finalize()方法来释放系统资源。finalize()方法在类java.lang.Object中实现,声明格式为:protectedvoidfinalize()throwsthrowable如果要在类中使用该方法释放该类所占用的资源,一般要使用super.finalize();语句释放父类所占用的资源。对象的生命期一个对象的生命期包括三个阶段:生成、使用和清除。this关键字有时一个方法需要引用调用它的对象,这时,需要使用this。this可以在引用当前对象的所有方法内使用。也就是说,this总是调用该方法对象的一个引用。包(package语句)Java使用package语句来提供一种命名机制用于管理类名空间。在package语句中,用“.”来指明目录的层次。访问修饰符在类的成员变量和成员方法的声明中,有:—public—protected—private这些修饰符,它们的作用是对类的成员施以一定的访问权限限定,实现类中成员在一定范围内的信息隐藏。如果一个类或类的成员前没有任何访问修饰符时,它们获得缺省的访问权限default。private修饰符类中限定为private的成员只能被这个类的其他成员访问,不能被类外部访问。如:privateintage;privatevoidsetAge(intage){//代码块}protected修饰符类中限定为protected的成员允许类本身、它的子类、同一包中的所有类和不同包中的子类访问。public修饰符类中限定为public的成员可以被所有的类访问。访问控制privatedefaultprotectedpublic同一类中成员同一包中其他类×不同包中子类××不同包中非子类×××继承的概念继承,是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展,以实现代码的重用。被继承的类称为“父类”或“超类”。继承父类的类称为“子类”或“派生类”。Java中不支持多重继承。extends关键字extends关键字用于继承类。通常格式如下:classSubClassextendsSuperClass{//类体}注意:1.如果没有extends,默认父类为java.lang.Object2.只能有一个父类,即单继承。3.子类可以继承父类中访问权限设定为public、protected、default的成员变量和方法,但是不能继承访问权限为private的成员变量和方法。方法重写在类层次结构中,如果子类中的一个方法与父类中的方法有相同的方法名并具有相同数量和类型的参数列表,这种情况称为方法重写(或称为方法覆盖)。方法重写可以把父类的状态和行为改变为自身(子类)的状态和行为。super关键字super关键字用来解决如何直接访问或初始化父类的资源。在Java中,this用来引用当前对象,与this类似,super用来引用当前对象的父类。使用super有三种情况:1.用来访问父类被隐藏的成员变量,如:super.age;2.用来调用父类中被重写的方法,如:super.PrintInfo();3.用来调用父类的构造函数,如:super(参数列表);多态的概念多态性是由封装性和继承性引出的面向对象程序设计语言的另一特征。在Java中,多态性体现在两个方面:1.由方法重载实现的静态多态性(编译时多态)2.方法重写实现的动态多态性(运行时多态)方法重写时应遵循的原则方法重写应遵循两个原则:1.重写后的方法不能比被重写的方法有更严格的访问权限。2.重写后的方法不能比被重写的方法产生更多的异常。final修饰符final修饰符可应用于变量、方法和类。1.如果一个变量前面有final修饰符,那么这个变量就变成了常量。2.如果一个方法前面有final修饰符,那么这个方法就不允许被重写。3.如果一个类前面有final修饰符,那么这个类就不允许被继承。类的静态成员在声明一个变量或方法时,还可以通过static修饰符指定它为静态变量或静态方法。类中的静态变量、方法或代码块属于类,而不属于某个特定的对象。类的静态成员可以与类的名称一起使用,而无需创建类的对象。静态变量或方法也称为类的变量或方法。静态变量不管创建了类的多少实例,整个类中静态变量的副本只有一个。引用静态变量的方法:通过引用类的任一实例通过类的名称静态方法类的静态方法只能访问其他的静态成员。静态方法没有this。静态方法不能被覆盖为非静态方法。静态块如果需要通过计算来初始化静态变量,可以声明一个静态块。静态块仅在该类被加载时执行一次。只能初始化类的静态数据成员。抽象类和抽象方法定义抽象类的目的是提供可由其子类共享的一般形式。子类可以根据自身需要扩展抽象类。抽象类不能实例化。抽象方法没有函数体。与final方法相反,抽象方法必须在子类中被重写。抽象类和抽象方法在以下情况下,某个类将成为抽象类:1.当一个类的一个或多个方法为抽象方法时。2.当该类为一个抽象类的子类,并且没有为所有抽象方法提供实现细节或方法主体时。3.当一个类实现一个接口,并且没有为所有抽象方法提供实现细节或方法主体时。抽象类和抽象方法使用abstract修饰符。接口Java通过接口使得处于不同层次,甚至互不相关的类可以具有相同的行为。接口就是方法定义和常量值的集合。从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。接口的作用通过接口可以实现不相关的类的相同行为,而不需要考虑这些类之间的层次关系。通过接口可以指明多个类需要实现的方法。通过接口可以了解对象的交互界面,而不需了解对象所对应的类。接口的使用在类声明中使用implements关键字来实现接口。在类体中可以使用接口中定义的常量,而且必须实现接口中定义的所有方法。一个类可以实现多个接口,在implements子句中用逗号进行分隔。第四章进程与线程进程与线程都是顺序执行的指令序列。进程是指一种“自包容”的运行程序,有自己的地址空间。线程是进程内部单一的一个顺序控制流。多进程:在操作系统中,能同时运行多个任务(程序)。多线程:在同一应用程序中,有多个顺序流同时执行。进程与线程比较进程:1.每个进程都有自己独立的代码和数据空间。2.进程间切换的开销大。线程:1.同一类线程共享代码和数据空间。2.线程间切换的开销小。线程的状态线程的状态表示了线程正在进行的活动以及这段时间内线程能完成的任务。在一个线程的生命周期中,它总处于某一种状态中。主要有:创建状态(newThread)可运行状态(Runnable)不可运行状态(NotRunnable)死亡状态(Dead)线程放弃CPU的情况
本文标题:Java部分复习资料
链接地址:https://www.777doc.com/doc-6068294 .html