文档库 最新最全的文档下载
当前位置:文档库 › java笔试题大全

java笔试题大全

4.什么是多态?
多态就是指不同类的对象对同一消息做出的相应.
5.String是基本数据类型吗?
不是,String是final类型的,因此不可以继承这个类,不能修改这个类.
6.int和Integer的区别?
Java提供了两种不同的类型,原始类型和引用类型,int为原始类型,而Integer是java
为int提供的封装类.引用类型和原始类型的行为完全不同,并且具有不同的语义特征和用法,
包括速度和大小.
7.String和StringBuffer的区别?
Java提供了两个类,String和StringBuffer,他们都可以存储和操作字符串,但String
定义的字符串长度是固定的,不可修改,StringBuffer可以动态的改变字符串长度,
在一定程度上提高了效率.
8.运行时异常和一般异常有何区别?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中
可能遇到的异常,是一种常见运行错误。
运行时异常是在运行的时候发生的错误,编译器并不要求
一定声明并抛出异常,而一般异常java编译器要求方法必须
声明和抛出异常.
9.ArrayList,Vector,LinkedList的存储性和特性
ArrayList和Vector都是使用数组方式存储数据,它们都允许直接按序号索引元素,
但是插入数据比较慢,由于Vector是线程安全,同步的,所以性能上比ArrayList要差.
LinkedList使用双向链表实现存储.插入速度较快.
10.Collection和Collections的区别
Collection是集合类的上级接口,实现他的主要有List和Set.
而Collections是集合类的一个辅助类,他提供了一系列的静态方法对集合类进行操作.
11.HashMap和HashTable的区别?
HashMap是HashTable的轻量级实现,他允许空的键和空的值,由于非线程安全,所以效率上
会高于HashTable.
而最大的区别在于:HashTable是同步的,线程安全的,在多线程并发访问的时候,我们不用
为其提供同步,而HashMap就必须为之提供同步.
12.final,?finally,?finalize的区别
final定义的属性,方法和类分明表示属性不可以更改,方法不可被覆盖,类不可以被继承。
finally是try catch异常语句块中的最后一部分,代表总是执行.
finalize是Object中的一个方法,在垃圾收集器启动的时候这个方法被调用,可以覆盖此方法
进行其他资源的回收.
13.Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
方法的重载和重写是java中多态的不同体现。
重载是在同一个类中,方法名相同,具有不同的参数类型或个数,我们说该方法被重载.
重写是体现在子类和父类之间,如果子类中定义某方法与其父类有相同的名称和参数,
我们说该方法被重写.
Overloaded可以改变返回值的类型.
14.error和exception有什么区别?
error代表不是不能恢

复但是很困难的一种严重问题,比如内存溢出,不可以指望程序去解决.
而exception代表程序运行正常的情况下,从不会发生的情况.
15.同步和异步有何异同?
如果数据将在线程间共享,比如正在写的数据另外一个线程正在删除,那么就会形成脏数据,
所以必须要为他们提供同步.
当应用程序调用了一个需要花费很长时间的一个方法,但是又不希望让程序等待返回时,使用
异步编程,往往可以提高效率.
16.abstract?class和interface有什么区别?
声明方法的存在但不去实现他的类叫做抽象类,接口是抽象类的一个变体,在接口中的任何方法
不能有方法体,必须实现他的子类去完成方法的具体内容,而抽象类中可以包含有方法体的方法
也可以让子类去继承并实现方法.
17.Static?Nested?Class?和?Inner?Class的不同。?
静态的内部类不依赖于外部类实例被实例化。
而通常的内部类需要外部类实例化后才能实例化。
18.GC是什么??为什么要有GC??
GC是垃圾收集的意思,因为程序员在编码的过程中容易忽略内存的整理,严重者会导致
内存崩溃,java提供的GC功能可以自动检测内容是否超过作用域而进行回收整理.
19.short?s1?=?1;?s1?=?s1?+?1;有什么错??short?s1?=?1;?s1?+=?1;有什么错?
第一个错,s1+1为int类型,需要强制类型转换.第二个对
20.Math.round(11.5)等於多少??Math.round(-11.5)等於多少?? 12,-11.
21.String?s?=?new?String("xyz");创建了几个String?Object??
2个,一个是xyz,一个是指向的s.
22.Java有没有goto?
java中有goto保留字,但还没有被使用.
23.List,?Set,?Map是否继承自Collection接口?
List和Set是,Map不是
24.abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
都不可以.
25.数组有没有length()这个方法??String有没有length()这个方法?
数字只有length属性,String有length()方法.
26.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢??是用==还是equals()??它们有何区别?
使用iterator()方法区分是否重复.equals是判断2个set是否相等.
equals和==方法决定引用值是否指向同一对象,也就是是否有同一个hashCode.
27.构造器Constructor是否可被override?
构造器不能为继承,所以不可以被重写,但可以被重载.
28.是否可以继承String类?
不可以,String是final类型的
29.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
swtich(aaa),aaa是一个整数表达式,可以作用在int,short,byte上
不可以作用在long或者String上。
30.try?{}里有一个return语句,那么紧跟在这个try后的finally?{}里的code会不会被执行,什么时候被执行,在return前还是后?
会执行,而且是在retu

rn之前.
31.编程题:?用最有效率的方法算出2乘以8等於几?? 2<<3 (不明白)
32.两个对象值相同(x.equals(y)?==?true),但却可有不同的hash?code,这句话对不对?
不对,有相同的hash code。
33.当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递??
是值传递,java编程语言只有值传递参数.在方法中可以对属性进行修改赋值,但引用是不会改变的。
34.编程题:?写一个Singleton出来(单例模式)
public class Person
{
private Person(){}
private static Person p=null;
public static Person Instance()
{
if(p!=null)
{
return p;
}
else{
makeInstance();
return p;
}
}
private static synchronized void makeInstance()
{
if(p==null)
return new Person();
}

}

相关文档
相关文档 最新文档