最新java考试复习重点资料
JA V A 考试重点复习第一章Java 概述1. Java 如何实现跨平台?通过Java 虚拟机JVM 来实现跨平台,先将Java 源程序编译成字节码(后缀为.class 的代码),字节码可以在Java 虚拟机上运行,不同的平台有不同的Java 虚拟机JVM ,相同的字节码可以不同的平台上运行。
2. Java 开发的三个平台是什么?J2SE 、J2EE 和J2ME3. 如何编译与运行java 程序?在Dos 命令提示符状态下通过命令行来实现的。
例如:如果用命令行运行test 的话,后面不可以写“.class ”,若写成test.class 系统会把class 当成类名test 当成类包,所以在没有类包的情况下不要写成“.class ”形式。
第二章Java 基础1. 什么是标识符?如何定义标识符?标识符是用来标识变量、常量、方法、类、对象等元素的有效字符序列。
Java 语言规定标识符由字母、下划线、美元符号和数字等组成,并且第一个字符不能是数字。
对标识符的约定:(1)变量名、对象名、方法名、报名等标识符全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写,如getAge 。
(2)类名首字母大写。
(3)常量名全部字母大写。
2. 关键字的定义?关键字是由Java 语言定义的、具有特殊含义的字符序列。
其首字母不能大写。
如:this ,super ,extends ,if ,class ,instanceof3.Java 中数据类型的结构?float 与double 定义时的区别: float 型的数要在后面要加f ,如34.5f4. 常量与变量的声明方式?常量: final[修饰符]类型标识符 常量名=(直接)常量如: final public double PAI=3.14;变量: [修饰符] 类型标识符 变量名[=常量];如: public float x=25.4f ;常量与变量的区别:一旦定义为常量了,其值不能改变,若要改变其值,只能改变声明时Outputtest.java javac test.class java va 数据类型 布尔(boolean)数值类型 短整数(short) 字节(byte) 字符(char) 长整数(long) 整数(int) 双精度浮点数(double ) 单精度浮点数(float) 定点类型 浮点类型基本数据类型引用数据类型 类 接口 数组的值。
5. Java的运算符和表达式?单目运算符:++、--、-双目运算符:+、-、*、/、%逻辑运算符:&、|、!、^、&&、||区别:逻辑与:& 逻辑或:|短路与:&&(只要一个为F,一定为F) 短路或:||(只要一个为T,则一定为T)6. 关于注释的正确写法?“//…………”单行注释“/*…………*/”多行注释第三、四、五章1.Java的三种基本控制结构?顺序,选择和循环if,switch,while,for,continue与break区别2. 数组的定义?举例定义一个基本数据类型的数组和一个引用数据类型的数组。
数组是一组同类型的数据的集合,除了基本数据类型还包括引用数据类型,那么引用数据类型数组是如何声明、初始化和使用的。
例:基本数据类型数组的声明,初始化int[]c=new int [5]; (5表示数组的单元长度是5)c[0]=-5;或int[]c={1,2,3}; c[2]=3;引用数据类型数组的声明初始化例:String[]s=new String[3]; (3表示有3个单元)S[0]=new String(“ab”);或String[]s1={“1”, “2”, “3”};或String[]s1= new String(“1”);String[]s2= new String(“2”);String[]s3= new String(“3”);3. 如何声明数组,初始化数组以及使用数组?4. 如何获得数组单元的长度?int len=s.length5. 熟练掌握一维数组的声明、初始化和操作6. 字符串的声明与初始化?常量字符串String 字符串直接量字符串字符串常量可变字符串StringBuffer字符串String s=“hello”hello会保存在字符串值里字符串直接量String s1=new string(“hello”); 在堆上开辟了一个新的对象空间来存放hello 对象变量String s2=“hello”;先看字符串池里面有没有hello,若有则直接将s2指向那个位置String s3=new string(“hello”);只要有new出现就一定会开辟一个新的空间。
7. 字符串直接量与字符串常量的区别:存储位置不一样,字符串直接量放在字符串值里,字符串常量放在堆上。
8. 常量字符串类与可变字符串类分别是什么?9. 常量字符串的基本操作方法有哪些?5+5+“Hello”“ 10Hello”“Hello”+5+5=? “Hello55”“==”与“equals”的区别:比较对象是否相等的方法是“==”和“equals”,在采用“equals”进行比较时不会出现问题,“==”比较引用变量的值,“equals”(对象:内存里整块存储的东西,对象变量String s1 s1即为对象变量)比较的是对象里的内容,故比较时应该比较对象里面所包含的内容而不是对象变量。
第六、七、八章1. 什么是类?类的成员组成?接口是否为类的成员?类就是将我们自然界中的事物的属性特点和行为特点抽象封装到类当中,反映这类事物的特点和功能。
类的成员包括域变量和成员方法,对于域变量和成员方法都可以用static 来修饰,static修饰的域变量称为类变量,static修饰的方法称为类方法,没有被static 修饰的域变量和成员方法称为实例变量(可以在程序中直接调用)和实例方法。
接口不是类的成员,是一种特殊的类,不用class,而用interface。
2. 关于类的正确表述?必须依照类的写法,如何定义3. 什么是静态域变量和实例域变量,静态方法和实例方法?静态域变量称为类变量,静态方法也称为类方法,因为它们可以通过“类名.”来调用。
4. 什么是对象?如何创建对象?什么是对象变量?如何对对象进行初始化?对象是类的一个实例。
new在创建对象的作用:(1)通过new在堆上开辟一个对象空间,将类当中的域变量跟成员方法复制到对象空间当中;(2)通过new来调用构造方法来初始化对象;(3)将对象空间的首地址赋值给对象变量。
对象变量就是指对象的首地址,通过构造方法对对象进行初始化。
5. 什么是构造方法?构造方法的特点与作用?构造方法:(1)在一个类中方法名与类名相同的方法;(2)构造方法不是通过对象来调用,而是通过new运算符来调用;(3)构造方法是一种特殊的成员方法,它没有返回值。
构造方法特点:可以被重载,当没有在类中定义构造方法时,系统会默认提供一个不带参数的构造方法。
作用:初始化对象。
6. super和this关键字的用法?this用在当前类,当前类的一个默认的对象,可以通过this来调用当前类的属性和成员方法,也可以直接调用当前类的构造方法的重载方法。
super用于一个类的子类中,作为父类在子类中的一个默认的对象,通过它来调用父类的成员属性和成员方法,也可以在子类的构造方法里直接调用父类的构造方法。
7. final修饰类、变量和方法时各有什么特点?修饰类:这个类不能够被继承。
修饰变量:这个变量值不能改变,成为一个常量。
修饰方法:这个方法不能被覆盖。
8. 面向对象编程中,java类的三个主要特征是?三个主要特征:封装性、继承性和多态性封装性:通过类的访问修饰符来实现封装性的public,protected,缺省,private的访问权限继承性:extends一个类继承了另一个类,那么父类的所有成员属性和成员方法都可以被继承到子类当中,子类也可以创建新的成员属性和成员方法(现有的类创建新的类的特性)super多态性:静态多态性,如:重载函数。
动态多态性,如:覆盖函数。
重载(overload):一个类中可以定义多个名称相同,但参数变量不同的方法,重载方法与返回类型无关,重载方法常常用于构造方法,用于实现不同功能的初始化工作,重载也称为静态多态性,这是由于该方法被调用时采用静态地址充定位方式。
覆盖(override):在子类中对父类的某方法进行了重新定义,但方法的签名特征与父亲完全一致,访问修饰符的访问的限制宽于或至少等于父类的访问权限;主要用于实现同一个方法在不同的类中实现不同的表现形式,覆盖也称为动态多态性,这是由于该方法只有在运行时才能确定所调用的地址(也是多态性)。
9. 什么是抽象类?什么是抽象方法?抽象类的特点?在类中至少有一个方法是抽象方法,那么这个类就称为抽象类,用abstract来修饰抽象类。
抽象方法即没有定义这个方法的主体,给出这个方法的签名特征。
特点:抽象类的对象变量是通过它的非抽象的子类来初始化的。
如:Animal T=new Tiger()里的方法都是抽象方法,修饰符为public,没有写默认为public抽象类非抽象类10. 什么是接口?接口的特点?接口的作用?接口是使用interface关键字来代替class的特殊的类。
接口的三种形式:(1)仅有常量接口;(2)常量和抽象方法接口(3)仅有抽象方法接口。
作用:(1)可以实现常量接口在多个类当中共享常量;(2)实现共享一组标准操作来实现多个类之间的共享约定;(3)实现多态性。
11. 接口与抽象类的区别?接口中所有的方法都是抽象方法,不管这个方法是否使用public,abstract修饰,它都是默认的公有的抽象方法,抽象类至少有一个抽象方法,而且还有一个成员方法,接口中不能定义构造方法,抽象类可以定义构造方法。
12. 什么是包?包的作用?包是java语言提供的组织类和接口的工具,将一组相关的类为接口,组织到一个包中。
作用:(1)通过包可以来确定类的唯一标识;(2)通过包可以将相似功能的类和接口组织在一个包中。
第九章1. 什么是异常?为什么要处理异常?异常是指程序运行过程中出现的非正常现象。
由于异常情况总是难免的,良好的应用程序除了具备用户所要求的基本功能外,还应该具备预见并处理可发生的各种异常的功能。
2. 异常的基本处理方式?常用的异常类有哪些?两种处理方式:(1)一旦捕获异常马上进行处理。
try,catch,finally(2)捕获异常并不处理,而是利用方法将异常抛出,throw,throws3. Error和Exception类的区别?Error是用来处理较少发生的系统内部的错误,程序员对这些错误通常无能为力,只能在发生时由用户按照提示来终止程序的运行。
java重点复习资料
java重点复习资料Java重点复习资料Java是一种广泛应用于软件开发领域的编程语言,具有跨平台、面向对象、简洁易学等特点。
对于学习Java的人来说,掌握一些重点复习资料是非常重要的。
本文将介绍一些Java的重点复习资料,帮助读者系统地复习和巩固Java知识。
一、Java基础知识1. Java语言规范(Java Language Specification):这是Java语言的官方规范文档,详细描述了Java语言的语法、语义和语法规则。
通过阅读这本文档,可以深入理解Java语言的设计原理和规范要求。
2.《Thinking in Java》(Java编程思想):这是一本经典的Java编程入门书籍,适合初学者阅读。
它以面向对象的思想为基础,通过实例和案例讲解Java的基本概念、语法和常用类库,帮助读者掌握Java编程的基本技巧。
3.《Core Java》(Java核心技术):这是一本全面介绍Java核心技术的书籍,包含了Java语言的基础知识、面向对象编程、异常处理、多线程、网络编程等内容。
它详细介绍了Java的各个方面,适合有一定Java基础的读者进一步深入学习和理解Java。
二、Java面向对象1.《Head First Java》(Java编程思维):这是一本以图文并茂的方式介绍Java面向对象编程的书籍,适合初学者阅读。
它通过生动有趣的案例和练习,帮助读者理解面向对象的思维方式和Java的面向对象特性。
2.《Effective Java》(Java编程的逸民之道):这是一本讲述Java编程实践经验的书籍,作者Joshua Bloch是Java语言设计师之一。
他通过一系列的编程实例和技巧,教读者如何写出高质量、高效率的Java代码,并避免常见的陷阱和错误。
三、Java集合框架1.《Java集合框架》(Java Collections Framework):这是Java官方文档中对集合框架的详细介绍,包含了集合框架的体系结构、各种集合类的使用方法和特性。
java期末考点总结
java期末考点总结一、基础知识1. Java语言的起源和特点2. Java开发环境的配置和使用3. Java程序的基本结构和语法规则4. 数据类型和变量5. 运算符和表达式6. 控制流程和循环结构二、面向对象编程1. 面向对象的基本概念和原则2. 类和对象的定义和使用3. 封装、继承和多态4. 接口和抽象类5. 继承和多态的应用6. 继承和接口的区别三、异常处理1. 异常的概念和分类2. 异常的处理机制3. try-catch语句的使用4. finally语句的作用5. 异常的抛出和捕获6. 自定义异常四、常用类库1. String类的常用方法2. Math类和常用数学方法3. Date类和Calendar类的使用4. 集合框架和常用集合类5. IO流的使用6. 文件的读写操作五、多线程编程1. 进程和线程的概念2. 创建线程和实现Runnable接口的区别3. 同步和互斥的实现4. 线程的状态和控制5. 线程的优先级和调度6. 线程池的使用和管理六、网络编程1. 网络通信的基本概念和协议2. Socket编程和TCP/IP协议3. UDP协议和DatagramSocket类4. URL和URLConnection类的使用5. 服务器和客户端的通信6. HTTP协议和网页的访问七、图形用户界面1. AWT和Swing的区别和优缺点2. 组件的布局和事件处理3. 容器和组件的层次结构4. 图形用户界面的设计和优化5. 多线程和事件处理6. 用户界面的国际化和本地化八、数据库编程1. 数据库的基本概念和SQL语句2. JDBC的使用和连接数据库3. Statement和PreparedStatement的使用4. ResultSet的处理和数据库操作5. 事务和批处理的管理6. 数据库连接池的使用九、Web开发1. HTML和CSS的基本语法和标签2. JavaScript的基本语法和事件处理3. Servlet和JSP的概念和使用4. MVC模式的理解和应用5. 数据库连接和数据处理6. Web应用的发布和部署十、设计模式1. 设计模式的基本概念和分类2. 单例模式和工厂模式的实现3. 观察者模式和适配器模式的应用4. MVC模式和策略模式的理解和应用5. 模板方法模式和装饰者模式的实现6. 设计模式的优缺点和使用场景以上是Java期末考点的总结,希望能帮助你复习和理解Java编程的重要知识点。
JAVA复习资料含答案
A、 额外的定义一个实例变量
B、 实现接口中的所有方法
C、 扩展该接口
D、 以上答案都不对
38、利用多态,使用同一个【 D 】可产生不同的操作,这取决于调用方法
的参数类型。
A、方法返回类型 B、 实例变量
C、 局部变量 D、 方法名
39、对静态成员(用 static 修饰的变量或方法)的不正确描述是【 D 】。
D、class
22、下列语句中,对构造方法的描述错误的是【 D 】。
A、构造方法的名称必须和类名相同
B、构造方法没有返回值,返回类型也不能用 void
C、构造方法在一个类中可以多次出现
D、当重写了带参数的构造方法,系统默认的不带参数的构造方法依然存在
23、下面关于 java 中类的说法哪个是不正确的【 C 】。
B、 int x( int a,int b) { return a-b; }
C、 int x( int a,int b ); { return a*b; }
D、 int x(int a,int b) { return 1.2*(a+b); }
19、Java 中所有的类都是通过直接或间接地继承( )类得到的。【 A 】。
45、定义一个包的关键字是【 B 】。
A、import
B、 package C、 interface D、 protected
46、使用 Class 类的【 D 】方法可载入一个数据库驱动
A 、getClass
B、 getName C 、 forClass
D 、 forName
A、类体中只能有变量定义和成员方法的定义,不能有其他语句
B、构造方法是类中的特殊方法
C、类一定要声明为 public 的,才可以执行
java考试大纲
java考试大纲Java考试大纲一、Java语言基础1. Java语言概述- Java的起源、特点、应用领域- Java开发环境的搭建(JDK、IDE)2. 基本语法- 标识符、关键字、数据类型、变量- 运算符、表达式、语句3. 控制流程- 条件语句(if、switch)- 循环语句(for、while、do-while)- 跳转语句(break、continue、return)4. 数组- 一维数组和二维数组的定义和使用- 数组的遍历、查找、排序5. 字符串- 字符串的定义、赋值、连接- 字符串常用方法(indexOf、substring、replace等)二、面向对象编程1. 面向对象基础- 类和对象的概念- 封装、继承、多态的实现2. 类和对象- 类的定义、成员变量、方法- 对象的创建和使用3. 继承- 继承的概念、super关键字的使用- 方法重写(Override)4. 多态- 多态的概念、实现方式- 接口和抽象类的使用5. 包和访问控制- 包的概念、使用- 访问控制(public、private、protected)三、集合框架1. 集合概述- 集合框架的组成、特点2. List接口- ArrayList、LinkedList的特点和使用3. Set接口- HashSet、LinkedHashSet、TreeSet的特点和使用4. Map接口- HashMap、LinkedHashMap、TreeMap的特点和使用5. 集合的遍历和操作- 迭代器(Iterator)的使用- 增强型for循环四、异常处理1. 异常的概念- 异常的分类、处理机制2. 异常处理- try、catch、finally的使用- 自定义异常的创建和抛出3. 断言和错误- 断言(assert)的使用- 错误的分类和处理五、输入输出(I/O)流1. 流的概念- 流的分类、作用2. 字节流- InputStream、OutputStream的使用3. 字符流- Reader、Writer的使用4. 文件操作- 文件的创建、读取、写入、删除5. 缓冲流- BufferedInputStream、BufferedOutputStream等的使用六、多线程编程1. 线程的概念- 线程的生命周期、状态2. 线程的创建和启动- 继承Thread类、实现Runnable接口3. 线程的同步- 同步方法、同步代码块- 锁(Lock)的使用4. 线程间通信- wait、notify、notifyAll的使用5. 线程池- Executor框架的使用七、Java网络编程1. 网络基础- 网络通信的基本原理2. Socket编程- ServerSocket、Socket的使用3. URL和URLConnection- URL的解析、URLConnection的使用4. HTTP协议- HTTP请求和响应的处理八、Java数据库连接(JDBC)1. JDBC概述- JDBC的作用、组件2. 数据库连接- DriverManager、Connection的使用3. SQL语句执行- Statement、PreparedStatement的使用4. 结果集处理- ResultSet的使用5. 事务处理- 事务的概念、处理方式九、Java Web基础1. Web应用概述- Web应用的组成、运行环境2. Servlet技术- Servlet的概念、生命周期、配置3. JSP技术- JSP的概念、页面指令、内置对象4. 会话管理- Cookie、Session的使用5. MVC模式- MVC的概念、实现十、Java开发工具和环境1. 开发工具- Eclipse、IntelliJ IDEA等IDE的使用2. 版本控制- Git的基本使用3. 构建工具- Maven、Gradle的使用4. 持续集成- Jenkins等CI工具的使用5. 测试- JUnit等测试框架的使用本大纲涵盖了Java语言的基础知识、面向对象编程、集合框架、异常处理、I/O流、多线程编程、网络编程、JDBC、Web基础以及开发工具和环境等多个方面,旨在为学习者提供一个全面的Java学习路径。
Java复习提纲(有答案)
Java复习提纲一、题型说明一、选择题(2′×10=20′)二、填空题(2′×10=20′)三、简答题(5′×4=20′)四、读程序题(20′,3题)五、编程题(10′×2=20′)二、复习题1、执行如下程序代码a=0;c=0;do{--c;a=a-1;}while(a>0);后,a 的值是()A.0 B.1C.-1 D.死循环2、提供Java GUI设计能力的包是()A.java.sql B. C.ng D.java .swing3、以下代码的作用是()g.fillRect(2, 3, 10, 20);A. 用背景色画一个矩形B. 用前景色画一个矩形A. 用背景色填充一个矩形 D. 用前景色填充一个矩形4、下列说法正确的有()A.数组是一种对象 B.数组属于一种基本类型C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变5、以下关于接口的说法不正确的是()A. 一个类可以实现多个接口类似于多重继承。
B. 接口没有构造函数。
C. 接口可以继承。
D. 接口包含的方法既可以有实现,也可以没有实现。
6、Java 中整数类型包括:A. int, byte 和 charB. int, short, long, byte和charC. int, short, long 和 charD. int, short, long 和 byte7、关于被私有访问控制符private修饰的成员变量,以下说法正确的是( )。
A. 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B. 可以被两种类访问和引用:该类本身、该类的所有子类C. 只能被该类自身所访问和修改D. 只能被同一个包中的类访问8、下列哪个类声明是正确的()A. abstract final class Car {}B. public abstract class Car{}C. abstract private Car() {}D. protected private Car {}9、用户可以通过单击下拉框中选择项目进行输入的GUI组件是()A. JTextFieldB. ButtonGroupC. JComboBoxD. JList10、声明常量PI,表示圆周率3.1415:_final double PI=3.1415_______。
自考Java语言程序设计复习资料
语言程序设计(一)考试复习资料第一章JA V A语言基础一、出题点:1.JA V A语言的特点:强类型、编译和解释、自动无用内存回收功能、面向对象、与平台无关、安全性、分布式计算、多线程。
(P3)2.小应用程序与应用程序的区别(P5)(1)小应用程序只能在与JA V A兼容的容器中运行,可以嵌入在HTML网页内,在网络上发布,当网页被浏览时,在浏览器中运行。
小应用程序的运行还受到严格的安全限制。
而JA V A应用程序没有这些限制,也不支持网页嵌入和下载运行。
(2)两者在代码编写上也有很大差异。
一个小应用程序必须定义成一个Applet类的子类,应用程序可以是Applet类的子类,也可以不是。
(3)应用程序必须在一个类中定义一个main()方法,该方法代表应用程序的入口。
而小应用程序不必定义main()方法。
它的执行由Applet类中定义的多个方法控制。
3.JA V A应用程序的开过过程(P6)(1)JA V A应用程序,先编写JA V A源程序,源程序经JA V A编译器编译后产生字节码文件,最后由JA V A解释器解释执行字节码文件。
(2)小应用程序,先编写源程序,然后经JA V A编译器编译后产生字节码文件,最后由WEB浏览器解释执行字节码文件。
4.标识符:由字母和数字符组成,限定标识符第一个字符不能是数字符。
(P8)5.关键字:均由小写字母组成,关键字不可以用做变量、方法、类或标号的标识符。
(P8)6.基本数据类型:整数类型、浮点数类型、字符类型、逻辑类型。
非基本数据类型:数组、字符串、类、接口(P8)7.整数类型依次分为:byte(8位)、short(16位)、int(32位)、long(64位)。
(P9)8.浮点数类型分为:float(单精度型32位)、double(双精度型64位)。
(P10)第二章运算和语句一、出题点:1.在进行连续的逻辑运算时,不分逻辑与和或的优先级,而是顺序进行逻辑与和或的计算,一旦逻辑表子达式或逻辑表达式能确定结果,就不再继续计算(即条件1&&条件2,若条件1不成立,则条件2也无须再计算。
Java基础知识点复习资料
1、classpath的设置及作用:设置为set classpath=“绝对路径”。
作用是指定Java类的执行路径。
是用来寻找class文件的。
2、path的设置及作用:是内部命令。
在编译Java的时候需要用到javac命令在执行java的时候要用到java命令,这两个命令不时windows自带的命令,所以我们使用的时候要设置好环境变量,这样就可以在任何目录下使用了。
3、JA V A数据类型:基本数据类型(数值型(整型(byte.short.int.long)、浮点型(float.double))、字符型(char)、布尔型(boolean))、引用数据类型(class.数组、接口)。
4、JA V A基本运算符号:赋值运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、括号运算符。
5、JA V A程序基本控制语句:1、if (判断条件){语句1;语句2;}2、if(判断条件){语句1;}else{语句2;}3、switch(表达式){case 选择值1;语句主体1;break;case 选择值2;语句主体2;break;case 选择值3;语句主体3;break;default:语句主体;}4、for(赋初始值;判断条件;赋值增减量){语句;}5、while(判断条件){语句1;语句2;}6、do{语句1;语句2;}while(判断条件);break跳出循环。
continue跳出本次循环进入到下次循环。
6、数组的概念及使用:数组是由一组相同类型的变量所组成的数据类型,它们以一个共同的名称来表示。
格式一:数据类型数组名[]数组名=new 数据类型[个数]例:int i[]i=new int[8]格式二:数据类型数组名[]=new 数据类型[个数]例:int i=new int[8]7、方法的声明及使用:完成某一特定功能的代码块。
返回值类型方法名称(类型参数1,类型参数2){程序语句;return表达式;}8、方法的重载:在同一个类中允许同时存在一个以上的同名方法,只要他们的数据类型参数个数不同即可。
《Java基础入门》复习资料.doc
A.java.io B.java.util C.java.awt ng
34.己知类的继承关系如下:
class Employee;
class Manager extends Employee;
class Director extends Employee;
A.tryB.catchC.th rows D.throw
28.关于super关键字以下说法哪些是正确的?(多选)
A.super关键字可以调用父类的构造方法
B.super关键字可以调用父类的普通方法
C.super与this不能同时存在于同一个构造方法中
D.super与this可以同时存在于同一个构造方法中
C.线程进入死亡状态,但是该线程对象仍然是一个Thread对象,在没有被垃圾回收器回收之前仍可以像 引用其它对象一样引用它
D.线程进入死亡状态后,调用它的start。方法仍然可以重新启动
40.对于死锁的描述,下面四种说法正确有哪些?(多选)
A.当两个线程互相等待对方释放同步锁时会发生死锁
BJava虚拟机没有检测和处理死锁的措施
42.线程调用sleep()方法后,该线程将进入以下哪种状态?
A.就绪状态B.运行状态C.阻塞状态D.死亡状态
43.在以下哪种情况下,线程进入就绪状态?
A.线程调用了sleep()方法时B.线程调用了join。方法(终止)
C.线程调用了yield。方法时D.线程调用了notify()方法??
44.下面四个选项中,对线程同步的目的描述正确的有哪些?(多选)
D.编写简单,可以不通过Thread类直接创建线程
39.对于线程的生命周期,下面四种说法正确的有哪些?(多选)
java复习期末重点考点总结
java复习期末重点考点总结一、基本语法1. 变量和常量定义变量和常量,变量的作用域,变量类型转换等。
2. 数据类型Java的基本数据类型,如整型、浮点型、字符型、布尔型等。
3. 运算符Java的运算符,如算术运算符、关系运算符、逻辑运算符、位运算符等。
4. 控制结构条件语句,如if语句、switch语句。
循环语句,如for循环、while循环、do-while循环。
5. 数组一维数组、多维数组的定义和使用。
6. 方法定义方法,方法的重载、调用以及参数传递。
7. 异常处理Java的异常处理机制,如try-catch-finally语句块。
常见的异常类及其使用。
二、面向对象1. 类和对象类和对象的定义,成员变量和成员方法的访问权限。
2. 构造方法和析构方法构造方法和析构方法的定义和使用。
3. 继承子类和父类的关系,继承的实现和使用。
方法重写和父类引用子类对象的特点。
4. 接口接口的定义和实现,接口的多继承。
多态的概念和实现,向上转型和向下转型。
6. 包包的定义和使用,包的导入和导出。
三、输入输出1. 文件操作文件的读取和写入,字符流和字节流的使用。
2. 序列化和反序列化对象的序列化和反序列化,使用序列化实现对象的存储和传输。
四、集合框架1. 集合接口和类常用集合接口和类的介绍和使用,如List、Set、Map等。
2. 迭代器集合的迭代器,实现对集合元素的遍历和操作。
3. 泛型泛型的概念和使用,泛型类和泛型方法。
4. 排序和比较使用集合框架实现元素的排序和比较。
五、线程1. 线程的创建和启动线程的创建方式,使用Thread类和Runnable接口。
2. 线程同步线程同步的方法,如使用synchronized关键字实现线程同步。
3. 线程通信线程之间的通信方式,如使用wait()、notify()、notifyAll()方法进行线程通信。
线程池的定义和使用,使用线程池实现线程的复用。
六、网络编程1. 套接字套接字的概念和使用,使用套接字实现网络通信。
Java语言及面向对象技术复习资料
Java语言及面向对象技术复习资料一、单项选择题。
1、下列哪个是Java应用程序主类中正确的main方法?()A.public void main(String args[])B.static void main(String args[])C.public static void Main(String args[])D.public static void main(String args[])2、下列哪项是正确的float变量的声明?()A.float foo=-1; B.float foo=1.0;C.float foo=2.02f; D.float foo=0x0123;3、对于int a[]=new int[3];下列哪个叙述是错误的?()A.a.length的值是3。
B.a[1]的值是1。
C.a[0]的值是0。
D.a[a.length-1]的值等于a[2]的值。
4、下列哪个叙述是正确的?()A.5.0/2+10的结果是double型数据。
B.(int)5.8+1.0的结果是int型数据。
C.’苹’+’果’的结果是char型数据。
D.(short)10+’a’的结果是short型数据。
5、对于下列Hello类,哪个叙述是正确的?()A.Hello类有2个构造方法。
B.Hello类的int Hello()方法是错误的方法。
C.Hello类没有构造方法。
D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。
class Hello {Hello (int m) {}int Hello() {Return 20;}hello() {}}6、下列哪个叙述是正确的?()A.成员变量的名字不可以和局部变量的名字相同。
B.方法的参数的名字可以和方法中声明的局部变量的名字相同。
C.成员变量没有默认值。
D.局部变量没有默认值。
7、下列哪个叙述是正确的?()A.子类继承父类的构造方法B.abstract类的子类必须是非abstract类C.子类继承的方法只能操作子类继承和隐藏的成员变量D.子类重写或新增的方法也能直接操作被子类隐藏的成员变量8、下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)?()class A {static int m;static void f() {m=20; //A}}class B extends A {void f() //B{ m=222; //C}}class E {public static void main(String args[]) {A.f();}}9、将下列哪个代码(A,B,C,D)放入程序中标注的【代码】处将导致编译错误?()A.public float getNum() {return 4.0f;} B.public void getNum() {};C.public void getNum(double d) {}D.public double getNum(float d) {return 4.0d;}class A {public float getNum() {return 3.0f;}}public class B extends A {【代码】}10、下列哪个叙述是正确的?()A. 一个类最多可以实现两个接口B. 如果一个抽象类实现某个接口,那么它必须要重写接口中的全部方法C. 如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法D. 允许接口中只有一个抽象方法二、程序填空题。
