javaEE笔试题.doc
文本预览下载声明
JAVAEE 工程师笔试题
JAVA基础
String和StringBuffer的区别JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。
接口和抽象类的区别和用法?
答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。
当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。
List、Set、Map三个存取数据时各自的特点是什么?
答:List有序key和value都能重复
Set?无序(除treeSet)?key和value都不能重复
Map无序(除treeMap)?key?必须唯一?value?可以重复
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?Java中处理字节流的抽象类有InputStream和OutputStream。InputStream有7个子类,OutputStream有5个子类;
Java中处理过滤流的抽象类是FilterOutputStream和FilterInputStream,而这两个抽象类又分别是抽象类InputStream和OutputStream的子类。对于流动数据的过滤也就是进行某种形式的加工;
Java中处理字符流的抽象类是Reader类和Writer类。它们的直接子类分别有6个和7个;
Java中处理压缩流的抽象类是InflaterInputStream和DefilaterOutputStream,它们分别有3个子类。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)
short s1 = 1; s1 += 1;(可以正确编译)
?
public class TestQuestion {
public static void main(String[] args){
System.out.println(“Hello world !”);
RuntimeException re = null;
throw re;
}
} hello world可以打印出 系统报空对象异常
程序是否有错?如果有,请指出并描述原因;如果没有,请写出运行结果。
7、
public class TestQuestion {
public int addOne(final int x){
return ++x;
}
}
答:有,被修饰符final修饰的变量x不能被赋值。
程序是否有错?如果有,请指出并描述原因。
8、
public class TestQuestion {
int i;
final int z;
public void showI(){
System.out.println(“i=” + i);
}
public void showJ(){
int j;
System.out.println(“j=” + j);
}
public void showZ(){
System.out.println(
显示全部