软通四达笔试题和面试题答案(二)
三, 问答题48
(1) 假设类A的某个成员方法a()分别具有public,private,protected,default的权限修饰符,如果希望在B类中调用A的a()方法,那么调用是否成功将取决于B类与A类的关系,以及他们所在的包的关系?请完成下面的表格,以说明分别针对如下情况,在B类中调用A.a()是否能成功(成功用√表示,失败用×表示):
类A的a()方法的访问
修饰符
类A与类B的关系
public
private
protected
default
A与B在同包下,两者没有继承关系
A与B分别属于不同包,B继承自A
A与B分别属于不同包,两者没有继承关系
(2) 请分析Servlet中请求转发与请求重定向的区别?
(3) 请用代码演示单例(Singleton)模式(懒汉式或饿汉式)和工厂(Factory)模式(用静态工厂实现)
(4) 指出下列程序运行的结果,并说明主要原因
public class Example {
String str = new String(“good”);
char[] ch = {‘a’,'b’,'c’};
public static void main(String[] args) {
Example ex = new Example();
ex.change(ex.str, ex.ch);
System.out.print(ex.str+” and “);
System.out.print(ex.ch);
}
public void change(String str,char ch[]){
str = “test ok”;
ch[0]=’g';
}
}
什么是un-checked exception,什么是checked exception?他们在代码中被抛出时,需要显式捕捉或者显式声明为抛出吗?
(5) 请写一段通过Socket进行消息传递的代码,需要完成的功能如下:
1, 有服务端等待客户端的连接;
2, 客户端连接过来之后,给客户端发送一条消息“好好考试,争取被录取”;
3, 客户端获得消息后在控制台打印出来,并结束连接。
(6) Overload与Override的区别,Overloaded的方法是否可以改变返回值的类型?