岗位面试题库合集-IT工程师面试题-Java面试宝典

VIP免费
2024-12-15 3 0 322KB 65 页 5.9玖币
侵权投诉
*** JAVA 面试题. ***
1、作用域 public,private,protected,以及不写时的区别
答:区别如下:
作用域 当前类 同一 package 子孙类 其他 package
public
protected ×
friendly × ×
private × × ×
friendly2 Anonymous Inner Class ( 部 类 )
extends(继承)其它类,
是否可以 implements(实现)interface(接口)
答:匿名的内部类是没有名字的内部类。不能 extends(继承) 其它类,但一个内
部类可以作
为一个接口,由另一个内部类
实现
3Static Nested Class Inner Class 的不同
Nested Class C++Inner Class (JAVA )
Java 内部类与 C++
嵌套类最大的不同就在于
是否有指向外部的引用上。注: 静态内部类(Inner Class)意味着 1创建一个
static 内部类
的对象,不需要一个外部类对
象,2 不能从一个 static 内部类的一个对象访问一个外部类对象
4&&&的区别
答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and
5Collection Collections 的区别
答:Collection 是集合类的上级接口,继承与他的接口主要有 Set List.
Collections 针对集合一个帮助,他供一列静方法实现各种
合的搜索、排
序、线程安全化等操作
6、什么时候用 assert
assertion()在软件开发中是一种常用的调试方式,很多开发语言中都
支持这种机制。
在实现中,assertion 就是
程序中的条语,它一个 boolean 表达式进检查一个确程必须
保证这个
boolean 表达式的值为 true;如果该
值为 false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般
来说, assertion
用于保证程序最基本、关
键的正确性。assertion 检查通常在开发和测试时开启。为了提高性能,在软件发
布后,
assertion 检查通常是关闭的
7String s = new String("xyz");创建了几个 String Object
答:两个,一个字符对象,一个字符对象引用对象
8Math.round(11.5)等於多少? Math.round(-11.5)等於多少
: Math.round(11.5)==12;Math.round(-11.5)==-11;round
近的长整数,参
数加 1/2 后求其 floor9short s1 = 1; s1 = s1 + 1;有什么? short s1 = 1; s1 += 1;
有什么错
答 : short s1 = 1; s1 = s1 + 1; s1+1 运算结果是 int 型,需要强制转换类
型)short s1 = 1; s1 +=
1;(可以正确编
译)
10Java 有没有 goto
答:java 中的保留字,现在没有在 java 中使用 11数组有没有 length()这个方法
String 有没有 length()这个方法
答:数组没有 length()这个方法,有 length 的属性。String 有有 length()这个方
12Overload Override 的区别。Overloaded 的方法是否可以改变返回值的类
答:方法的重写 Overriding 和重载 Overloading Java 多态性的不同表现。重
Overriding
是父类与子类之间多态性的一种
表现,重载 Overloading 是一个类中多态性的一种表现。如果在子类中定义某方
法与其父类
有相同的名称和参数,我们说该
方法被重写 (Overriding)子类的对象使用这个方法时,将调用子类中的定义,
对它而言,
父类中的定义如同被"屏蔽"
了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同
的参数类型,
则称为方法的重载
(Overloading)Overloaded 的方法是可以改变返回值的类型
13Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==
equals()?
它们有何区别
答 : Set 里 的 元 素 是 不 能 重 复 的 , 那 么 用 iterator() 方 法 来 区 分 重 复 与 否
equals()是判读两个
Set 是否相等
equals()==是否 equals()被覆
是当两个分离
的对象的内容和类型相配
的话,返回真值
14、给我一个你最常见 runtime exception
ArithmeticException,
ArrayStoreException,
BufferOverflowException,
BufferUnderflowException, CannotRedoException, CannotUndoException,
ClassCastException,
CMMException,
ConcurrentModificationException, DOMException, EmptyStackException,
IllegalArgumentException,
IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,
ImagingOpException,
IndexOutOfBoundsException, MissingResourceException,
NegativeArraySizeException,
NoSuchElementException,
NullPointerException, ProfileDataException, ProviderException,
RasterFormatException,
SecurityException,
SystemException, UndeclaredThrowableException, UnmodifiableSetException,
UnsupportedOperationException15error exception 有什么区别
答:error 表示复不是不可能但很困难情况下的一种重问题。如说内
出。不可
能指程序能处情况
exception 表示一种设计或实现问题。就是说,它表示如果程序运行正常,
从不
情况
16List, Set, Map 是否继承 Collection 接口
答: ListSet 是,Map 不是
17abstract class interface 有什么区别
答:明方法而不实现它的类做抽类(abstract class,它
于要创建一个现某基本行为的类,
为该方法,但不能在该类中实现该类情况不能创建 abstract 的实
而可以
创建一个变,其类型是一个
象类,并让它指向具体子类的一个实不能有构造函数或象静态方法
Abstract
的子类为它们父类中的
象方法提供实现,否则它们象类为。之,在子类中实现该方法。
知道其行为
的其它类可以在类中实现这
方法
接口(interface)是象类的变在接口中,有方法都是象的。多继承性
可通实现
的接口而获得。接口中的
有方法都是象的,没有一个有程序接口可以定义 static final 成员
接口的实
现与子类相了该实现
类不能从接口定义中继承行为。当类实现接口时,它定义(将程序
有这种
接口的方法。后,它可以在
实现了该接口的类的何对象上调用接口的方法。由于有象类,它允许使用接
口名作为引
用变的类型。通常的
编将生效引用可以转换接口类型或从接口类型转换,instanceof 运算符可以
用来决定某
对象的类是否实现了接口
18 abstract method 否可同时是 static,是否可同时是 native是否可同时
synchronized
答:都不能
---------- 1 ----------
*** JAVA 面试题.txt ***
19、接口是否可继承接口? 象类是否可实现(implements)接口? 象类是否可
继承实
(concrete class)
答:接口可以继承接口。象类可以实现(implements)接口,象类是否可继承
类,但
前提是实类必须有明确的
造函
20构造器 Constructor 是否可被 override
Constructor Overriding
Overloading21
是否可以继承 String
答:String 类是 final 不可以继承
22try {}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code
行,
什么时候被行,在 return
前还是后
答:会执行,在 return
23、用最有效率的方法算出 2 8等於几
2 << 324(x.equals(y) == true) hash
code,这句话对不
答:不对,有相同的 hash code25、当一个对象被当作参数传递到一个方法后,
方法可改
变这个对象的属性,可返回变化后的结果,那么这里到底 还是引用
传递
答:是值传递Java 编程语言有值传递参数。当一个对象实作为一个参数
传递到
法中时,参数的值就是对该对象
的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远改变
26swtich 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String
答:witchexpr1)中,expr1 一个整数表达式。因此传递 switch case
语句的参数
该是 int short char
bytelong,string swtich27ArrayList Vector
,HashMap
Hashtable 的区别
答:就 ArrayList Vector 主要从方面来说.
.:Vector 是线程安全的,就是说是的,而 ArrayList 是线程序不
安全的,不是
.据增:当需要长时,Vector 默认长为来一,而 ArrayList
的一
HashMap HashTable 主要从方面来说。
.历史原因:Hashtable 是基于陈旧Dictionary 类的,HashMap Java 1.2
进的 Map 接口
的一个实现
.:Hashtable 线程安的,是说的, HashMap 是线
序不安全的,
不是同
.值:HashMap 可以你将值作为一个表的条key value
28char 型变中能不能存贮一个中文汉?为什么?
答:是能为一个中 java 中以 unicode ,一个 char
16 个字
一个中是没问题的
29GC 是什么? 为什么要有 GC
GC 圾收Gabage Collection,
现问题的方,
忘记的内收会
导致程序或系统的不甚至崩Java 供的 GC 能可自动对象是
超过作用域
从而达到自动的,
Java 语言没有提供释放已分配内示操作方法。
30float float f=3.4 是否正确?
:不正确。精度,该用强制类型转换,如下示:float f=(float)3.431
介绍 JAVA
Collection FrameWork(包括如何写自己的数)?
答:Collection FrameWork 如下:
Collection
List
│├LinkedList
│├ArrayList
│└Vector
Stack
Set
Map
Hashtable
HashMap
WeakHashMapCollection 是最基本的集合接口,一个 Collection 表一组
ObjectCollection 的元素(Elements
Map 提供 key value 映射
32象类与接口
答:象类与接口都用于象,但是象类(JAVA )可以有自己的部分实现,
而接口则
是一个标识(同时有多重继承的
)
JAVA 类实现序化的方法是实现 java.io.Serializable 接口
Collection 框架中实现比较要实现 Comparable 接口和 Comparator 接口
33STRING STRINGBUFFER 的区别。
答:STRING 是不可变的,STRINGBUFFER 的长是可变的。如果你
对字符中的内容
经常进行操作,别是内容要
改时,那么使用 StringBuffer,如果最后需要 String,那么使用 StringBuffer
toString()方法
34谈谈 final, finally, finalize 的区别
答:final—修符(关键字)如果一个类被 final,意味着它不能再派
的子类,
不能作为父类被继承。因此
一个类不能明为 abstract 的,明为 final 的。将变或方法明为
final,可以
保证它们在使用中不被改变。
明为 final 的变必须在明时给定值,而在以后的引用中能读
改。被
明为 final 的方法样只
使用,不能重载
finally—再异常处时提供 finally 清除操作。如果出一常,
那么相
catch 子句就会执行,
制就 finally (如果有的话)
finalize方法名Java 技术允许使用 finalize() 法在垃圾收将对象从内
清除
之前必要的清理工作。
---------- 2 ----------
*** JAVA 面试题.txt ***
这个方法是由垃圾收在确定这个对象没有被引用时对这个对象调用的。它是
Object
类中定义的,因此所有的类都
继承了它。子类覆盖 finalize() 方法以整行其他清理工作 。
finalize() 方法
是在垃圾收器删除对象
之前对这个对象调用的
35、面向对象的特征哪些方面
答:主要有以下方面:
1.象:
象就是忽略一个主题中与当前目标无关的那方面,以便更充注意与当
目标有关的
方面。算了全部
问题,而选择其中的一部分,时不用部分细节包括两个方面,一是
象,
是数据抽象。 2.继承:
继承是一种结类的层次模并且允许类的重用,它提供了一种明确
述共性的方
法。对象的一个类可以从现
有的类中派生,这个程称为类继承。类继承了原始类的性,类称为原始
类的派生
(子类),而原始类称为
的基类(父类)。派生类可以从它的基类那里继承方法和实并且类可以
改或
的方法使之更适特殊的需
要。
3.封装
封装把过程和数据包围起来,对数的访问能通已定义的面。面向对象
于这
个基本概念现实世界可以
描绘成一系列自治封装的对象,这对象通一个的接口访问其
他对象。
4. 多态性:
多态性是指允许不同类的对象对同一消息作出响应多态性包括参数化多态性和
包含多态性。
多态性语言灵活
象、行为共享代码共享优势,很决了用程序数同名问题。
36String 是最基本的数类型
答:基本数类型包括 byteintcharlongfloatdoubleboolean short
java.lang.String 类是 final 类型的,因此不可以继承这个类、不能改这个类。
了提高效率
节省空间,我们该用
StringBuffer
37int Integer 有什么区别
答:Java 提供两种不同的类型:引用类型和原始类型(或内类型)。Int
java 原始
类型,Integer java int
提供的封装类。Java 原始类型提供了封装类。
原始类型封装
,booleanBoolean,charCharacter,byteByte,shortShort,intInteger,longLong,float
Float,doubleDou
ble
引用类型和原始类型的行为全不同,并且它们有不同的语义。引用类型和
类型
不同的特征和用法,它们
:大速度问题,这种类型以种类型的数构存储,当引用类型和
类型用作某
个类的实指定的
值。对象引用实缺省 null,而原始型实与它
们的类型有关
38、运行时常与一般常有何
答:常表示程序运行程中可能出现的正常状态,运行时常表示
的通常操作中
可能遇到常,是一种常见
运行错java 编译要求方法必须出可能发运行时常,但是
不要求必须
捕获的运行时
常。
39、说出 ArrayList,Vector, LinkedList 存储性能和
ArrayList Vector 使数组
存储的数便
加和插入元素,它们都允许
接按序索引元素,但是元素要及数组元素操作,以索
引数据快
据慢Vector 由于使用了 synchronized 方法(线程安全),通常性能上
ArrayList ,而 LinkedList 使用表实现
存储,按序索引数需要
进行前向或后向遍历,但是的前后
入速度较快
40HashMap Hashtable 的区别
答:HashMap Hashtable 轻量级实现(线程安全的实现),他们都
Map 接口,
主要区别在于 HashMap 允许空
null)键值(key,由于线程安全,效率上可能高于 Hashtable
HashMap 允许null 作为一个 entry key value,而 Hashtable 允许
HashMap Hashtable contains 方 法 去 掉 了 , containsvalue
containsKeycontains
方法容易让人起误解
Hashtable Dictionary 类,而 HashMap Java1.2 引进的 Map interface
的一个实现。
大的不同Hashtable 方法 Synchronize ,而 HashMap ,在
个线程访问
Hashtable 时,不需要自己为它的方
法实现同,而 HashMap 就必须为之提供外同
Hashtable HashMap hash/rehash 算法都大以性能不
很大的差异
41heap stack 有什么区别
答:是一种线集合,其加和删除元素的操作在同一段完成后进
出的方式
进行处的一个组
元素
42Java 的接口和 C++类的相同和不同处
答:由于 Java 不支持多继承,而有可能某个类或对象要使用分别在几个类或对
象里面的方
法或属性,现有的继承机制就
不能满足要求。与继承相,接口有高的灵活性,为接口中没有何实现
。当一个
类实现了接口以后,该类要实
现接口里面有的方法和属性,接口里面的属性在默认状态下面都是
public static,
方法默认情况下是 public.
个类可以实现多个接口。
43Java 中的常处机制的简单原理
答:当 JAVA 程序 JAVA 的语义则时,JAVA 机就的错
表示为一个
常。语义包括 2情况。一
种 是 JAVA 的语义检查。如数组下,引 发
IndexOutOfBoundsException;访问
null 的对象时引发
NullPointerException。另一种情况 JAVA 允许程序扩展这种语义检查,
程序可以创建
自己常,并自选择
何时用 throw 关键字引发常。有的常都是 java.lang.Thowable 的子类。
43垃圾原理考虑 2 种回机制
答:Java 语言中一个就是引机制,使 c++
的内
的问题迎刃,它使 Java
在编写程序的时候不。由于有个机制,Java
中的对象不
"作用域"概念有对象
的引"作用"垃圾以有防止使用可以使
用的内
收器通常是作为一个
级别的线程运行,不可下对内中已经长时间没
有使用的对象
进行,程序不能 实时的调用垃圾收器对某个对象或有对象进
垃圾。回机制有分复制垃圾
标记垃圾增量垃圾
44、你所知道的集合类都有哪些?主要方法
List Map List ArrayList
Vector,它们是可
变大的列表,比较适
建、存储和操作何类型对象的元素列表。 List 用于按数值索引访问元素
情形
Map 了一通用的元法。 Map 集合元素(称
""""),
其中个键映射到一个值。
45描述一下 JVM 加载 class 件的原理机制?
答:JVM 中类的载是由 ClassLoader 和它的子类来实现的,Java ClassLoader
是一个重要的
Java 运行时系统组件。它负责
在运行时查装入件的类。
---------- 3 ----------
*** JAVA 面试题.txt ***
46、排序都有几种方法
答: 排序的方法有:插入排序(插入排序、希尔排序),换排序(冒泡
排序、快速
序),选择排序(选择
排序、排序),排序,分配排序(排序、基数排序)
快速排序的代码
/ /使用快速排序方法对 a[ 0 :n- 1 ]排序
a[ 0 :n- 1 ]选择一个元素作为 m i d d l e,该元素为支
下的元素分为两 left r i g h t使 l e f t 中的元素都于等于
right
的元素都大于等于支
摘要:

***JAVA面试题.***1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域当前类同一package子孙类其他packagepublic√√√√protected√√√×friendly√√××private√×××不写时默认为friendly2、AnonymousInnerClass(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)答:匿名的内部类是没有名字的内部类。不能extends(继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现3、StaticNestedCla...

展开>> 收起<<
岗位面试题库合集-IT工程师面试题-Java面试宝典.doc

共65页,预览13页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:人力资源/企业管理 价格:5.9玖币 属性:65 页 大小:322KB 格式:DOC 时间:2024-12-15

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 65
客服
关注