Java面试笔试题及答案汇总终结篇:代码与编程

来源:www.hxw.red  作者:本站整理
摘要:关于java代码与编程的综合应用135、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?答:父类:package test;public class FatherClass public FatherClass() Syste……

关于java代码与编程的综合应用

135、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?

答:父类:

package test;
public class FatherClass {
  public FatherClass() {
  System.out.println("FatherClass Create");
  }
}

子类:

package test;
import test.FatherClass;
public class  ChildClass extends FatherClass {
  public ChildClass() {
  System.out.println("ChildClass Create");
  }
  public static void main(String[] args) {
  FatherClass fc = new FatherClass();
  ChildClass cc = new ChildClass();
  }
}

输出结果:

C:\>java test.ChildClass
FatherClass Create
FatherClass Create
ChildClass Create

136、写一个Singleton出来

Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
  一般Singleton模式通常有几种种形式:
  第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。

public class Singleton {
  private Singleton(){}
  private static Singleton instance = new Singleton();
  //这里提供了一个供外部访问本class的静态方法,可以直接访问  
 public static Singleton getInstance() {
   return instance;   
  }
}

第二种形式:

public class Singleton {
  private static Singleton instance = null;
  //这个方法比上面有所改进,只是第一次使用时生成实例,提高了效率
  public static synchronized Singleton getInstance() {
  if (instance==null) instance=new Singleton();
  return instance;
  }
}

其他形式:定义一个类,它的构造函数为private的,所有方法为static的。
  一般认为第一种形式要更加安全些

137、内部类的实现方式?

答:示例代码如下:

package test;
public class OuterClass {
  private class InterClass {
  public InterClass() {
    System.out.println("InterClass Create");
  }
  }
  public OuterClass() {
  InterClass ic = new InterClass();
  System.out.println("OuterClass Create");
  }
  public static void main(String[] args) {
  OuterClass oc = new OuterClass();
  }
}

输出结果:

C:\>java test/OuterClass
InterClass Create
OuterClass Create

再一个例题:

public class OuterClass {
  private double d1 = 1.0;
  //insert code here
}

You need to insert an inner class declaration at line 3. Which two inner class declarations are valid?(Choose two.)

A. class InnerOne{
   public static double methoda() {return d1;}
   }
B. public class InnerOne{
   static double methoda() {return d1;}
   }
C. private class InnerOne{
   double methoda() {return d1;}
   }
D. static class InnerOne{
   protected double methoda() {return d1;}
   }
E. abstract class InnerOne{
   public abstract double methoda();
   }

说明如下:

1.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。故 A、B 错
  2.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;故 D 错
  3.非静态内部类的非静态成员可以访问外部类的非静态变量。故 C 正确
  4.答案为C、E

【相关文章】好搜一下
如何将汇编语言与C语言整合至DSP

如何将汇编语言与C语言整合至DSP

本文将讨论如何将汇编语言程序代码整合到C语言中,以最大化性能以及程序设计人员生产…