面试题1

来源:互联网 发布:executor java 编辑:程序博客网 时间:2024/05/21 15:42

 

1.        面向对象的特征有哪些方面,并简要说出它们的基本概念
特征是:封装、继承、多态
封装:是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
继承:是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
 多态性:是指允许不同类的对象对同一消息作出响应。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
2.        Java中的数据类型分为几种,请分别写出
两种:基本数据类型:byteshortintlongcharfloaddoubleboolean
      引用数据类型:类、数组、接口
3.        请您写出ArrayList和Vector的区别,HashMap和Hashtable的区别
ArrayList:采用异步处理,属于线程不安全的,安全性低,但性能高;
Vector:采用同步处理,属于线程安全的,安全性高,但效率低;
HashMap:采用异步处理,性能较高,但属于线程不安全的,允许设置null
Hashtable:采用同步处理,性能较低,但属于线程安全的,不允许设置null,否则将出现NullPointerException
4.        请您写出常见的五个运行时异常
NullPointerExceptionClassCastExceptionNumberFormatExceptionArithmeticExceptionIndexOutofBoundsException
5.        多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么
两种实现方法:继承Thread类,实现Runnable接口
Thread类是Runnable接口的子类;
使用Runnable接口可以实现资源共享的目的;
所有的线程操作都必须通过Thread类的start()方法启动。
两种实现同步的方法:
   1 同步代码块:Synchronized(this){}
   2 同步方法
6.        swtich中能接受几种参数类型,请分别写出
五种 byte intcharshortenum
7.        请您简要写出比较两个对象是否相等的方法
使用equals()方法
8.        请您写出final, finally, finalize的区别
 final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,总是被执行。
finalizeObject类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
9.        请您写出Static Nested Class 和 Inner Class的不同,写得越多越好
    Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。