Java题库3简答题.docx
《Java题库3简答题.docx》由会员分享,可在线阅读,更多相关《Java题库3简答题.docx(7页珍藏版)》请在冰豆网上搜索。
Java题库3简答题
1.Java程序分为哪两大类?
它们的主要特点是什么?
答:
(1)Java应用程序(application),以main()方法作为程序入口,由Java解释器加载执行。
(2)Java小应用程序(applet),没有main()方法,由浏览器或appletviewer加载执行。
2.开发与运行Java程序需要经过哪些主要步骤和过程?
答:
(1)编写Java源文件:
使用文本编辑器(Edit或记事本),扩展名为.java
(2)编译Java源文件:
使用Java编译器(javac.exe)。
得到字节码文件*.class
(3)运行Java程序:
Java应用程序使用Java解释器(java.exe)执行字节码文件;
3.什么叫标识符?
标识符的规则是什么?
答:
①用来标识类名、变量名、、方法名、类型名、数组名、文件名的有效字符序列。
②由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符,而且关键字不能作为标识符。
4.类中的实例变量在什么时候会被分配内存空间?
答:
当该类创建对象之后,实例变量才会被分配相应的内存空间。
5.简述Java语言中抽象类和接口概念的差异和使用方式。
抽象类只定义了变量和抽象方法的一个类
抽象类和接口虽然非常相似,都是只定义了类中的方法,没有给出方法的实现,但是接口是实现Java多继承的一种机制。
使用方式:
abstractclass{}
Publicclass类名inplements接口名{}
6.final关键字的用法是什么?
用在类:
该类为最终类(最终类是指不能被继承的类)
可以用于定义符号常量
如果某个方法在定义时,前面有修饰词final,该方法可以被调用,不能重写
7.什么是面向对象技术?
它有什么优点?
答:
程序设计者考虑的是对象的描述,对象间的关系,类的管理、什么时候什么地方调用对象的那一种方法。
最大的优点是面向对象编程能有效地支持重用,是超大规模的程序也变得相对容易维护。
8.Java中字符数组与字符串有什么区别?
字符数组只是数组的一种使用方式
而字符串则是类String的对象的一个方法的实现
9.怎样区分应用程序和小应用程序?
应用程序的主类或小应用程序的主类必须用public修饰吗?
应用程序是可以执行的独立程序,JavaApplet是嵌入网页中、用浏览器加载后才能解释执行的程序。
不用。
10.什么叫关键字?
请说出5个关键字。
Java语言中有固定含义的标示符称作关键字。
Abstract、boolean、break、continue、interface。
11.什么叫方法的重载?
构造方法可以重载吗?
方法重载是指在一个类中,多个方法的方法名相同,但是参数列表不同。
构造方法也可以重载。
12.程序中若有事件处理,需要包括哪些设计步骤?
事件处理过程包括事件的接受和事件的处理两部分。
事件的接受由系统负责。
当用户对某一事件源进行操作时,就会产生相应事件。
系统一旦监听到事件发生,就把该事件交给相应的事件处理程序进行处理,从而完成用户希望的操作。
13.确定一个字符数组长度与确定一个String对象的长度有什么区别?
14.如何区分应用程序和小应用程序。
应用程序是可以执行的独立程序,JavaApplet是嵌入网页中、用浏览器加载后才能解释执行的程序。
15.Java的基本数据类型都是什么?
1.整型:
byte1个字节,short2个字节,int4个字节,long8个字节
其中使用long类型的时候数值后面加个后缀l或L,默认下为int类型。
八进制有一个前缀0,十六进制有个前缀0x。
2.浮点型:
float4个字节,double8个字节。
a.使用float类型的时候有个后缀f或F,否则默认为double类型(也可以有后缀d或D)。
b.三个特殊的浮点数值:
正无穷大,负无穷大,NaN,三者用于表示溢出和出错。
eg:
一个正整数除以0结果我正无穷大,0/0或者负数的平方根结果为NaN。
c.检测一个特定值是否为Double.NaN:
if(Double.isNaN(x))
d.浮点数的计算无法精确,我们可以使用大数字BigDecimal来进行浮点数运算
3.字符类型:
char2个字节
4.布尔类型:
boolean有两个值truefalse不是关键字
5.数值类型之间的转换:
byte—>short—>int—>long
char—>int
int—>double float—>double
16.类中的实例方法可以操作类变量(即static变量)吗?
类方法(即static方法)可以操作实例变量吗?
可以,不可以
实例变量(或实例方法)是要有类的实例才能访问的,即先要new一个对象,才能访问。
而static方法或变量,不需要创建对象,直接通过类名访问,所以它不能访问实例变量。
17.Java中实现多态的机制是什么?
对象的动态绑定和类的继承相结合就是对象具有多态性。
18.FlowLayout布局管理器的特点是什么?
FlowLayout布局管理器从左到右排列组件,一行放满后,再从第二行开始。
FlowLayout布局管理器是容器类组件pane的默认布局管理器。
19.BorderLayout布局管理器的特点是什么?
BorderLayout布局管理器按照东南西北中五个区域放置容器的组件。
borderLayout是容器类组件Window,Frame和Dialog等默认的布局管理器。
20.GridLayout布局管理器的特点是什么?
GridLayout布局管理器可以将容器分为若干个大小相等的矩形。
21.简述Java的事件处理机制。
事件处理过程包括事件的接受和事件的处理两部分。
事件的接受由系统负责。
当用户对某一事件源进行操作时,就会产生相应事件。
系统一旦监听到事件发生,就把该事件交给相应的事件处理程序进行处理,从而完成用户希望的操作。
22.JVM、JDK、JFC的中文名字分别是什么?
JVM:
虚拟机
JDK:
环境变量
JFC:
JFC主要是由AWTAbstractWindowToolkit(AWT)、Swing以及Java2D三者所构成,若将这些一同搭配运用,则用Java程式语言撰写开发成的使用者介面,无论移转、转移到MicrosoftWindowsWindows、MacOSX或Linux等各种不同的作业平台上,都能保有一致性的图像呈现。
23.Frame类对象的默认布局是什么布局?
Panel类对象的默认布局是什么布局?
BorderLayout。
FlowLayout
24.Swing组件和AWT组件相比有什么优点?
(至少说出两点)
25.方法重载与方法重写的区别是什么?
答:
方法重载是指在一个类中,多个方法的方法名相同,但是参数列表不同。
方法重写是指子类对父类方法的重写,要求不能改变方法名、参数个数及类型,以及返回值类型。
26.什么是异常?
Java中两种异常处理方法是什么?
答:
异常即异常事件,指程序运行过程中出现的影响正常程序流程的事件。
异常处理方法一是使用try-catch-finally块结构在程序代码中捕获和处理异常。
二是把异常对象通过向调用层抛出,一层层向上直至交给Java虚拟机处理,这种产生异常和转交异常的过程称为抛出异常。
27.简述迭代器的操作过程。
答:
1)调用方法iterator()要求容器返回一个Iterator对象;
2)使用next()方法获得容器中的下一个元素;
3)使用hasNext()方法检查容器中是否还有元素;
4)使用remove()方法删除迭代器新返回的元素。
28.简述创建线程实例的两种方法。
答:
1)创建子类继承Thread类并重写run()方法,然后使用子类创建一个线程实例;2)创建子类实现Runnable接口并重写run()方法,创建子类对象并作为Thread类的构造方法的参数,生成线程实例。
29.一维数组的创建有哪几种方式?
请简要描述。
两种方式。
1.要将a初始化为一个真正的数组需要使用new关键字为数组开辟足够的内存空间。
这种初始化方法称为“动态初始化”例:
inta[]=newint[100];
2.创建数组的同时进行初始化的方式,被称为“静态初始化”inta={21,34,7,8,10};
30.类成员访问控制符有几种?
分别有什么作用?
有两种,分别是public和默认。
公共类表明该类能被任何类访问。
默认类表明该类只能被同一个包中的类访问,而不能被其他包中的类访问。
31.简述事件监听器与事件适配器的区别。
32.java中如何定义和使用接口?
接口的定义
<修饰符>interface<接口名>
{
成员变量1=<初值1>;
成员变量2=<初值2>;
.
.
方法1;
方法2;
.
.
}
使用接口
例:
publicinterfacePrintMessage
{
publicintcount=10;
publicvoidprintAllMessage();
publicvoidprintLastMessage();
publicvoidprintFirstMessage();
}
33.对Java中abstract、final、static进行比较,简述它们在修饰类时的区别。
abstract:
抽象类
final:
最终类
static:
静态类
34.Java语言中线程的一个完整的生命周期有哪几种状态?
请简要描述下。
新线程:
一个线程刚刚构建,还没有调用start()方法分配线程资源。
就绪态:
调用start()方法后,线程已获得处CPU外的所有资源,在线程就绪队列中,等待分配CPU资源。
运行态:
正在运行的线程。
此数目最大值一般为CPU的内核数。
阻塞态:
线程在申请等待获取一个锁。
等待态:
线程调用了wait()方法在等待一个特定的事件发生,接收到notify()、notifyall()或interrupt()方法将退出等待态。
休眠态:
死亡态:
(详见书上221页)
35.Java程序分哪两类?
各有什么特点?
JavaApplication:
可独立执行的应用程序
JavaApplet:
它是嵌入在网页中、用浏览器加载后才能解释执行的程序。
36.Java中标准输入输出使用哪种系统类?
使用哪个对象和方法?
java.lang包中的System类。
System.in、System.out、System.err
37.Java程序中字符串常量使用什么类来表示?
字符串变量又使用什么类来表示?
他们的主要区别在哪里?
38.方法的覆盖和方法的重载有什么不同?
详见77页和79页
39.Java中程序的错误分为哪两类?
请简要描述。
一个是Exception,一个是Error
Exception:
指那些程序中可能发生的、经过处理有可能恢复正常的非正常事件。
Error是指程序中可能发生的、非常严重且无法恢复的非正常事件。
40.Java的字符类型采用何种编码方案?
有何特点?
Unicode编码。
Unicode字符几种的每个字符为16位编码。
41.简述什么是类的继承机制?
42.简述Java语言中抽象类和接口概念的差异和使用方式。
抽象类只定义了变量和抽象方法的一个类
抽象类和接口虽然非常相似,都是只定义了类中的方法,没有给出方法的实现,但是接口是实现Java多继承的一种机制。
使用方式:
abstractclass{}
Publicclass类名inplements接口名{}
43.用final修饰符修饰的类和方法有什么特点?
用在类:
该类为最终类(最终类是指不能被继承的类)
可以用于定义符号常量
如果某个方法在定义时,前面有修饰词final,该方法可以被调用,不能重写
44.JVM、JDK、JFC的中文名字分别是什么?
JVM:
虚拟机
JDK:
环境变量
JFC:
JFC主要是由AWTAbstractWindowToolkit(AWT)、Swing以及Java2D三者所构成,若将这些一同搭配运用,则用Java程式语言撰写开发成的使用者介面,无论移转、转移到MicrosoftWindowsWindows、MacOSX或Linux等各种不同的作业平台上,都能保有一致性的图像呈现。
45.什么是抽象类?
什么是最终类?
它们各有何特点?
46.说明类成员变量与实例成员变量的区别?
47.Swing组件和AWT组件相比有什么优点?
(至少说出两点)
48.Java设置了几种类成员的访问权限?
所使用的修饰符和表示的含义各是什么?
两种,分别是public和默认。
公共类表明该类能被任何类访问。
默认类表明该类只能被同一个包中的类访问,而不能被其他包中的类访问。
49.方法的重载和方法的覆盖有什么区别?
50.在线程生命周期的5种状态中,哪些状态可以转入就绪状态?
并详细解释。
51.程序中若有事件处理,需要包括哪些设计步骤?
52.试说明Java语言与C++语言在面向对象机制上有哪些差别(或者说增加了些什么,去除了些什么)?
至少说出两条。