01JavaSE技术面试题目及答案Word文档下载推荐.docx
- 文档编号:18971940
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:23
- 大小:24.89KB
01JavaSE技术面试题目及答案Word文档下载推荐.docx
《01JavaSE技术面试题目及答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《01JavaSE技术面试题目及答案Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
9
break,continue的作用?
1.break的作用:
用于在switch语句中终止case;
也可以用于在循环中突然终止循环;
当循环中遇到break语句时,循环立即终止,控制权传递给循环之后的语句;
多层循环中,break只向外跳一层;
2.continue:
continue语句,只能在循环中使用让封闭循环进行下一次迭代;
遇到该语句时,跳过循环体中剩余的语句,控制权传递给重新初始化步骤;
在while循环和do…while循环中,程序控制权传递个条件测试语句;
在for循环中,continue影响循环的增量部分,然后执行条件测试;
10
如何获取java中数组的长度?
数组名.length;
数组的属性
11
类方法能不能调用实例方法?
不能;
12
顺序查询与折半查询的区别?
1.顺序查找是一种最基本和最简单的查找方法。
它的思路是,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查到所要找的元素为止。
否则就是表中没有要找的元素,查找不成功。
对于表中记录的关键字是无序的表,只能采用这种方法。
2.折半查找又称二分查找,折半查找不像顺序查找那样,从第一个记录开始逐个顺序搜索,它是针对有序表进行查找的简单、有效而又较常用的方法。
所谓有序表,即要求表中的各元素按关键字的值有序(升序或降序)存放。
二、面向对象
13
什么是继承?
继承性是面向对象程序设计语言的另一基本特征,通过继承可以实现代码的复用。
继承而得到的类为子类,被继承的类为父类(超类),父类包括所有直接或间接被继承的类。
子类可继承父类中的变量及方法,也可定义其自身特有的变量及方法。
14
Java中如何实现继承?
通过在类的声明中加入extends子句来创建一个类的子类:
classSubClassextendsSuperClass{
……
}
15
Java中,有继承关系时,变量隐藏的原则?
变量隐藏原则:
子类中变量名与继承自父类的变量名相同时,则继承自父类的变量将被隐藏。
16
Java中,有继承关系时,方法重写原则?
方法重写原则:
重写后的方法不能比被重写的方法有更严格的访问权限(可以相同)。
改写后的方法不能比重写的方法产生更多的例外。
17
Java中,super关键字的作用?
调用构造方法:
super()必须是子类构造函数第一个执行的语句,如果super()没有被用到,每个超类的默认的或无参数的构造函数将被执行。
调用被隐藏变量及方法:
可通过super关键字调用被隐藏的父类中的变量及方法。
18
构造器Constructor是否可被override?
构造器Constructor不能被继承,因此不能重写Overriding,
但可以被重载Overloading。
19
Java中,是否支持多继承?
Java不支持多继承,可多层次继承。
20
Java中,请说明final关键字的使用?
final在类之前:
表示该类是最终类,表示该类不能再被继承。
final在方法之前:
表示该方法是最终方法,该方法不能被任何派生的子类覆盖。
final在变量之前:
表示变量的值在初始化之后就不能再改变;
相当于定义了一个常量。
21
请说出上转型对象的特点?
a.不能操作子类新增的成员变量和方法;
b.可以操作子类继承的变量,也可操作子类继承或重写的方法;
c.如果子类重写了父类的某个方法后,当对象的上转型对象调用这个方法时一定是调用了这个重写的方法;
d.不可以将父类创建的对象的引用赋值给子类声明的对象。
22
什么是多态?
多态就是指父类的某个方法被子类重写时,可以各自产生自己的功能行为。
23
什么是抽象类?
用abstract关键字来修饰一个类时,该类叫做抽象类;
24
请说出抽象类所具有的特点?
a.抽象类必须被继承。
b.抽象类不能被直接实例化。
它只能作为其它类的超类,这一点与最终类(final类)正好相反。
25
什么是抽象方法?
抽象方法的特点?
抽象方法:
用abstract来修饰一个方法时,该方法叫做抽象方法。
特点:
抽象方法必须被重写。
抽象方法只有声明,不能有实现。
定义了抽象方法的类必须是抽象类。
26
什么是接口?
使用接口的好处?
接口(interface)就是方法定义和常量值的集合。
从语法上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有方法的实现。
好处:
a.通过接口可以实现不相关类的相同行为,而不需要考虑这些类之间的层次关系。
b.通过接口可以指明多个类需要实现的方法。
c.通过接口可以了解对象的交互界面,而不需了解对象所对应的类。
27
请写出抽象类、接口的相同点和不同点?
相同点:
都必须通过其它类实现才能使用;
不同点:
抽象类是类,其中可包含变量及(抽象)方法的定义;
接口实质并不类,其中只包含常量及抽象方法的定义;
28
静态变量和实例变量有何区别?
用static修饰的变量叫静态变量。
静态变量不需要new出对象引用来调用,它可以直接用类名直接调用。
当然用对象引用也能调它,只是不需要。
实例变量则必须用对象引用进行调用。
静态变量在内存空间中只有一份,也永远只有一份。
大家共享。
实例变量只要new出一个对象引用就会在内存中分配一份空间给它。
并且他两的存放地点不一样,静态变量存放在栈空间。
实例变量存放在堆空间里。
29
Overload和Override的区别。
Overloaded的方法是否可以改变返回值的类型?
方法的重写Overriding和重载Overloading是Java多态性的不同表现。
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写
(Overriding)。
子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"
屏蔽"
了。
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。
Overloaded的方法是可以改变返回值的类型。
30
接口是否可继承接口?
抽象类是否可实现(implements)接口?
抽象类是否可继承实体类(concrete
class)?
接口可以继承接口。
抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。
三、系统常用类
31
是否可以继承String类?
不可以,String类为最终类。
32
equals和==的区别?
equals:
值比较;
==地址比较;
面试题1:
Strings="
abc"
;
Strings1=newStrng("
);
是否相同?
前者"
是一个对象。
后者是两个对象,newstring()代表一个对象,"
也代表一个对象。
Sop(s1==s2);
==比较的是数据。
false
Sop(s1.equals(s2)rr);
比较的是内存的地址值,equals覆写了Object类中的equals方法。
33
String
和StringBuffer的区别?
JAVA平台提供了两个类:
String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。
这个String类提供了数值不可改变的字符串。
而这个StringBuffer类提供的字符串进行修改。
当你知道字符数据要改变的时候你就可以使用StringBuffer。
典型地,你可以使用StringBuffers来动态构造字符数据。
34
StringBuffer和StringBuilder的最大区别?
答案:
StringBuffer是线程安全的。
StringBuilder是非线程安全的。
35
请写出各种基本数据类型对应的封装类?
boolean-->
Boolean
char-->
Character
byte-->
Byte
short--->
Short
int-->
Integer
long-->
Long
float-->
Float
double-->
Double
36
Math.round(12.5)等于多少?
Math.round(-12.5)等于多少?
Math.round(12.5)=13;
Math.round(-12.5)=-12;
37
s
=
new
String("
xyz"
创建了几个String
Object?
两个。
四、SWING
38
顶层容器JFrame的特性?
默认不可视;
默认高度为0;
JFrame与JFrame不能相互嵌套。
默认布局是:
BorderLayout
39
JPanel容器的特性?
需加入JFrame才可见,默认可见;
默认布局:
FlowLayout;
JPanel与JPanel可以互相嵌套。
40
组件与容器的区别是什么?
容器代表管理,组件代表功能;
容器中可以添加组件,但组件中不可以添加组件。
41
Swing中有哪些布局管理器?
边界布局(BorderLayout)、流式布局(FlowLayout)、GridLayout(网格布局)、BoxLayout(盒式布局);
42
Swing中,事件处理机制中的角色包含哪些?
事件、事件源、事件处理者;
43
在窗体上,单击一个按钮,会产生什么事件?
ActionEvent
44
在Swing中,要获取密码框JPasswordField组件中的值,应该怎么写?
JPasswordFiledjtfPass=newJPasswordFiled(10);
Stringpwd=newString(jtfPass.getPassword());
45
JTextArea和JTextField类似,不同的是JTextArea是多行文本框.通过setText()方法可以设置JTextArea的内容,那么通过什么方法可以向JTextArea追加内容.
append(Stringstr);
五、集合框架
46
请说出集合和数组的优缺点?
数组存取效率高,使用时要求容量大小固定;
适合基本数据类型的存取;
集合存取效率上有一定的牺牲,集合容量大小可以根据实际需要改变,提供丰富的存取方法,适合成为对象的“容器”;
47
请简述集合框架体系?
Collection为集合框架的根,Set和List实现Collection接口;
SortedMap实现Map接口;
48
请简述Set接口的特点?
不能重复,无序,允许一个空值。
49
Set接口如何实现不重复?
重写equals()和hashCode()方法。
50
请简述ArrayList的特点?
有序,可以重复,允许多个空值。
元素可以通过其整型下标访问。
51
请简要说明ArrayList和LinkedList的区别?
ArrayList类:
由一个数组后推而成,适合查询频繁的列表。
LinkedList类:
由一个双向链表后推而成,适合插入删除频繁的列表。
52
请简述Map接口的特点?
是将键映射到值的对象;
每个键最多都只能映射至一个值;
一个映射不能包含重复的键;
53
HashMap和Hashtable的区别?
HashMap是非线程安全,效率高。
Hashtable是线程安全,效率不如HashMap。
HashMap把Hashtable的contains方法去掉了,改成
containsvalue和containsKey。
因为contains方法容易让人引起
误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进
的Map
interface的一个实现。
54
请简述Vector的特点?
实现可变长度的对象数组;
组件可以使用整型下标访问;
线程安全;
55
Vector和ArrayList的区别?
Vector是线程安全。
ArrayList是非线程安全。
56
Collection
和
Collections的区别
Collection是集合类的上级接口,继承与他的接口主要有Set
和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方
法实现对各种集合的搜
索、排序、线程安全化等操作。
57
List,
Set,
Map是否继承自Collection接口?
List,Set是,Map不是。
六、异常处理题目:
58.
问题
final,finally,finalize的区别是什么?
答案
final用于声明属性,方法和类,分别表示属性不可改变,方法不可被覆盖,类不可被继承;
finally是异常处理语句结构的一部分,表示总是执行;
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收
59.
异常处理的机制有几种?
分别是什么?
异常处理机制有两种;
1、捕获异常(trycatchfinally)
2、声明抛出异常(throws)
60.
error和exception有什么区别?
error表示恢复不是不可能,但很困难的情况下的一种严重问题
比如说虚拟机内部错误,不可能指望程序处理这样的情况
exception表示一种程序实现或设计问题。
也就是说,如果程序运行正常,从不发生的情况
61.
throw、throws关键字区别?
throw关键字是用于方法体内部,用来抛出一个Throwable类型的异常。
throws在方法头部声明方法可能抛出的异常类型
七、Swing高级应用
62
要实现表格需要用到哪个swing组件类?
Jtable类
63
给表格添加数据需要用到什么类?
DefaultTableModel类
64
如果未选中表格的某一行而调用getSelectedRow(),将返回什么值?
-1
八、IO流编程题目
65
Java采用的是哪种编码?
每个字符占几个字节?
Java采用unicode编码,每个字符占2个字节
66
数据源头有哪些?
文件,键盘,网络流,字符串(内存)等(可提示一个)
67
InputStream类中的read方法返回值类型是什么?
当读到文件末尾返回值是什么?
int类型,-1表示读到文件末尾
68
File类中用来判断当前表示的是一个标准文件的方法是什么?
isFile()
69
FileInputStream是FilterInputStream(高级过滤流)的子类吗?
或这样问:
FileInputStream是过滤流吗?
过滤流有哪些?
不是,FilterInputStream的子类有BufferedInputStream,PushbackInputStream,DateInputStream
70
流类按层次分可以分为几种?
高级
两种;
底层流:
包含以字节的形式读写的方法
高层过滤器流:
更方便的方法;
用于读写高层信息
71
字符流与字节流的区别是什么?
字符流是按字符读写;
一个中文是一个字符;
字节流是按字节读写;
一个中文是两个字节;
72
字符输出流类的父类是什么?
是常规类,抽象类;
还是接口?
Writer是个抽象类
73
要串行化某些类的对象,这些类就必须实现的接口是什么?
实现Serializable接口
74
字符流中读取一行记录用readLine()方法的返回值是什么类型?
那这个方法需要什么类的实例对象来调用
返回值类型String;
BufferedReader类的实例对象来调用
75
PrintWriter类的关键构造方法参数有哪些?
OutputStream,String,Writer,File
九、网络编程题目
76
Java中网络通讯的类属在什么包下面?
题目
.*;
77
在网络通信中,Socket使用什么协议进行通讯
TCP协议
78
可以通过哪个类得到本地的IP地址?
InetAddress类
79
UPD与TCP区别?
1.基于UPD与基于TCP相比,基于UDP的通信传输速度更快;
2.但基于UDP的通信不能提供可靠性,即发出的信息接收方不一定收到,发出信息的顺序与接收的顺序不一定相同。
十、多线程编程题目
80
创建线程的方式有几种?
创建线程的方式有两种;
1.声明一个Thread类的子类,并覆盖run()方法
2.声明一个实现Runnable接口的类,并实现run()方法
81
多任务处理有哪两种类型?
基于进程和基于线程
82
线程何时进入死亡状态?
run()方法结束
83
Thread类在哪个包下?
通过什么方法可以启动线程?
Thread类在java.lang.*包下面;
通过线程的start()方法可以启动线程
84
请简要解释线程同步的概念!
当两个或多个线程需要访问同一资源时,它们需要以某种顺序来确保该资源某一时刻只能被一个线程使用的方式称为线程同步
85
Java如何实现线程同步?
1.方法同步:
用synchronized修饰方法
2.方法块同步:
形式如:
synchronized(变量){}
注:
变量是必需是对象型;
86
请简要叙述多线程的特性
1、在Java中,一个应用程序可以包含多个线程。
每个线程执行特定的任务,并可与其他线程并发执行
2、多线程使系统的空转时间最少,提高CPU利用率
3、多线程编程环境用方便的模型隐藏CPU在任务间切换的事实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 01 JavaSE 技术 面试 题目 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)