数码视讯校园招聘JAVA笔试题及答案

时间:2020-11-24 17:33:10 笔试题目 我要投稿

数码视讯2015校园招聘JAVA笔试题及答案

  一、选择题(每题5分,共20分)

  1、访问修饰符作用范围由大到小是(D)

  A、 private-default-protected-public

  B、 public -default-protected- private

  C、 private- protected-default- public

  D、public - protected- default-private

  2、以下(D)不是Object类的方法?

  A、clone()

  B、finalsize()

  C、toString()

  D、hasNext()

  3.Java中,以下(B)接口以键——值对的方式存储对象?

  A、java.util.Collection

  B、java.util.Map

  C、java.util.List

  D、java.util.Set

  4、指出下列程序运行的结果()

  Public class Example{

  String str=new String(“good”);

  char[] ch={‘a’,’b’,’c’ };

  public static void main(String args[]){

  Exampleex=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’;

  }

  A、good and abc

  B、good and gbc

  C、test ok and abc

  D、test ok and gbc

  二、填空题(每题5分,共20分)

  5、JAVA基本数据类型包括__字符类型char,布尔类型boolean,数值类型____.

  6、Math.round(11.5)等于多少?12,Math.round(-11.5)等于多少?-11

  7、程序String str1="hello";String str2="he"+newString("llo");

  System.out.println(str1==str2);的运行结果是:false

  8、字符串分为两大类,一类是字符串常量,使用String类的对象表示;另一类是字符串变量,使用StringBuffer类的对象表示。

  三 简答

  9. 接口和抽象类的区别是什么?(10分)

  答案:接口是公开的,里面不能有私有的'方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,

  另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。

  还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用.

  10. 利用递归方法求5!

  答案:

  public class Test {

  public static void main(String args[]) {

  int x = 5;

  int rs = Fac(x);

  System.out.println("" + x + "! = " + rs);

  }

  public static long Fac(int x) {

  if(x > 1)

  return (x * Fac(x - 1));

  else

  return 1;

  }

  }

  11. 编写多线程代码有几种实现方法?请用一段代码分别举例实现。

  答案:

  三种:

  (1)继承Thread类,重写run函数

  创建:

  classxx extends Thread{

  public void run(){

  Thread.sleep(1000) //线程休眠1000毫秒,sleep使线程进入Block状态,并释放资源

  }}

  开启线程:

  对象.start() //启动线程,run函数运行

  (2)实现Runnable接口,重写run函数

  开启线程:

  Threadt = new Thread(对象) //创建线程对象

  t.start()

  (3)实现Callable接口,重写call函数

  Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务。

  Callable和Runnable有几点不同:

  ①Callable规定的方法是call(),而Runnable规定的方法是run().

  ②Callable的任务执行后可返回值,而Runnable的任务是不能返回值的

  ③call()方法可抛出异常,而run()方法是不能抛出异常的。

  ④运行Callable任务可拿到一个Future对象,Future表示异步计算的结果。它提供了检查计算是否完成的方法,以等

  待计算的完成,并检索计算的结果.通过Future对象可了解任务执行情况,可取消任务的执行,还可获取任务执行的结果

  12. 编程题:写一个观察者模式出来(先画类图,在用代码实现)

  答案:

    /// <summary>
 
    ///抽象主题类
 
    /// </summary>
 
    public abstract class Subject
 
    {
 
        private IList<Observer> observers = new List<Observer>();
 
        /// <summary>
 
        ///增加观察者
 
        /// </summary>
 
        /// <param name="observer"></param>
 
        public void Attach(Observer observer)
 
        {
 
            observers.Add(observer);
 
        }
 
        /// <summary>
 
        ///移除观察者
 
        /// </summary>
 
        /// <param name="observer"></param>
 
        public void Detach(Observer observer)
 
        {
 
            observers.Remove(observer);
 
        }
 
        /// <summary>
 
        ///向观察者(们)发出通知
 
        /// </summary>
 
        public void Notify()
 
        {
 
            foreach (Observer o in observers)
 
            {
 
                o.Update();
 
            }
 
        }
 
    }
 
    /// <summary>
 
    ///抽象观察者类,为所有具体观察者定义一个接口,在得到通知时更新自己
 
    /// </summary>
 
    public abstract class Observer
 
    {
 
        public abstract void Update();
 
    }
    /// <summary>
 
    ///具体观察者或具体通知者,将有关状态存入具体观察者对象;在具体主题的内部状态改变时,给所有登记过的观察者发出通知。具体主题角色通常用一个具体子类实现。
 
    /// </summary>
 
    public class ConcreteSubject : Subject
 
    {
 
        private string subjectState;
 
        /// <summary>
 
        ///具体观察者的状态
 
        /// </summary>
 
        public string SubjectState
 
        {
 
            get { return subjectState; }
 
            set { subjectState = value; }
 
        }
 
    }
 
    /// <summary>
 
    ///具体观察者,实现抽象观察者角色所要求的更新接口,已是本身状态与主题状态相协调
 
    /// </summary>
 
    public class ConcreteObserver : Observer
 
    {
 
        private string observerState;
 
        private string name;
 
        private ConcreteSubject subject;
 
        /// <summary>
 
        ///具体观察者用一个具体主题来实现
 
        /// </summary>
 
        public ConcreteSubject Subject
 
        {
 
            get { return subject; }
 
            set { subject = value; }
 
        }
 
        public ConcreteObserver(ConcreteSubject subject, string name)
 
        {
            this.subject = subject;
 
            this.name = name;
 
        }
 
        /// <summary>
 
        ///实现抽象观察者中的更新操作
 
        /// </summary>
 
        public override void Update()
 
        {
 
            observerState = subject.SubjectState;
 
            Console.WriteLine("The observer's state of {0} is {1}", name, observerState);
 
        }
 
    }

【数码视讯2015校园招聘JAVA笔试题及答案】相关文章:

java试题及答案08-12

JAVA模拟试题及答案11-14

2017年Java试题及答案08-27

java基础笔试题及答案08-07

Java基础笔试题及答案10-15

Java招聘笔试题目12-07

java认证考试试题及答案09-10

最新java面试题及答案08-20

java面试题2017及答案08-16

Java面试题大全及答案08-16