System.out.println(func(10,0)); } }
4.下面程序的运行结果为_AC______ class A{
void func1(){
System.out.print(“A”); } }
class B extends A{ void func2(){
System.out.print(“B”); } }
class C extends B{ void func2(){
System.out.print(“C”); } }
public class Test{
public static void main(String[] args){ B obj = new C(); obj.func1(); obj.func2(); } }
5.请填写下面程序的输出结果 class A{int a = 1;} public class Test{
public static void main(String[] args){ A obj1 = new A(); A obj2 = new A(); A obj3 = obj1;
String s1 = new String(“abc”); String s2 = new String(“abc”); String s3 = “abc”;
System.out.println(obj1 == obj2); System.out.println(obj1.equals(obj2)); System.out.println(obj1 == obj3); System.out.println(s1 == s2);
System.out.println(s1.equals(s2)); System.out.println(s1.equals(s3)); } }
false false true false true true
四、 简答题(共3题,前两题每题5分,最后一题6分,共16分)
1.请编写一个函数func(),将此函数的输入参数(int型)逆序输出显示,如54321 –> 12345,要求使用递归,并且函数体代码不超过8行。
public class Test{
public void func(int i){
if (i>0) {
int j = i % 10; System.out.print(j);
int n = i/10; func(n); }
}
public static void main(String[] args){ Test t=new Test(); t.func(987); } }
2.请用两种方式实现Java中的Singletone模式的类的基本框架,并分析其是否线程安全。 //恶汉式 Class Single{
Private Single(){};
Private Static SIngle s = new Single(); Public static Single getInstance(){
Return s;
} } //懒汉式 Class Single2 {
Private Single2(){};
Private static Single2 s = null; Public static Single2 getInstance(){
If(s==null){
S = new Single(); } Return s; } }
3. 请用Java实现一个多线程的程序,其中一个线程对某静态全局变量进行100次自加,另一个线程对该变量进行100次自减,要求这两个线程的实现方式不同。 public class Test{
private static int n=100;
public static void main(String[] args){ Test test = new Test(); A a = test.new A(); a.start();