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