1.面向对象的特征有哪些方面
1.1抽象:
抽象就是忽略一个主题中与当前目标无关的哪些细节,以便更加充分的注意到与当前目标有关的方面。抽象并不打算了解全部的问题,而只是选择其中的一部分,暂时不用部分的细节,抽象包括两个方面,一是过程抽象,而是数据抽象
1.2继承
继承是一种联结类的层次模型,并且允许和鼓励类的重用,他提供了一种明确表述共性的方法,对象的一个新类可以从现有的类中派生出来,这个过程称为类的继承,新类继承了原始类的特性,新类称为原始类的派生类,而原始类称为新类的基类,派生类可以从他的基类哪里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
1.3封装
封装是把过程和数据包围起来,对数据的访问只能通过已定义的方法,面向对象计算始于这个基本的概念,即现实世界描绘成一系列的完全自治,封装的对象,这些对象通过一个受保护的接口访问其他的对象。
1.4多态性
多态性是指允许不同类的对象对同一个消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活,抽象,行为共享,代码共享的优势,很好的解决了应用程序函数同名的问题。
2.String是最基本的数据类型吗?
不是基本的数据类型。基本的数据类型包括byte,int ,char,long,float,double,boolean和short.
java.lang.String类是final类型的,因此不可以继承这个类,不能修改这个类,为了提高效率节省空间,我们应该用StringBuffer类。
3.int 和 integer有什么区别
java提供两种不同的类型:引用类型和原始类型。int是java的原始类型,integer是java为int提供的封装类,java为每个原始类型提供了封装类
原始类型封装类有如下:
boolean -> Boolean
char -> Character
byte -> Byte
short -> Short
int -> Integer
long -> Long
float -> Float
double -> Double
引用类型和原始类型的行为完全不同,并且他们具有不同的语义。引用类型和原始类型具有不同的特征和用法,他们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值,对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与他们的类型有关。
4. String 和 StringBuffer的区别
JAVA平台提供了两个类:String 和StringBuffer.他们可以存储和操作字符串,即包含多个字符的字符数据,这个String类提供了数值,而这个StringBuffer类提供的字符串进行修改,当你知道字符数据要改变的时候你就可以使用StringBuffer,典型的,你可以使用StringBuffer来动态构造字符数据。
5.运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,时一种常见的运行错误,java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
6.说出Servlet的生命周期,并说出Servlet和CGI的区别。
Servlet被服务器实例化后,容器运行init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法,有doGET,doPOST等,当服务器决定将实例销毁的时候调用其destroy方法,与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而cgi对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet.