Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

自动类型转换遵循下面的规则

1、若参与运算的数据类型不同,则先转换成同一类型,然后进行运算

2、转换按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int转成long型后在进行运算

3、所有的浮点运算都是以双精度进行的。即使仅含float单精度运算的表达式,也要先转换成double型,再做运算。

4、char型和short型参与运算时,必须先转换成int型。

5、在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型转换为左边变量的类型。如果右边表达式的数据类型长度比左边长,将丢失一部分数据,这样会降低精度。

415611_1442458661106_F4A62FDD254F710F39378C754ED65E61

Servlet生命周期

Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。

(1)加载:容器通过类加载器使用servlet类对应的文件加载servlet

(2)创建:通过调用servlet构造函数创建一个servlet对象

(3)初始化:调用init方法初始化

(4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求

(5)卸载:调用destroy方法让servlet自己释放其占用的资源

抽象类和借口

抽象类

特点:

1、抽象类中可以构造方法

2、抽象类中可以存在普通属性,方法,静态属性和方法

3、如果一个类中有一个抽象方法,那么当前类一定是抽象类;抽象类不一定有抽象方法

4、抽象类中的抽象方法,需要有子类实现,如果子类不实现,则子类也需要定义为抽象的

5、抽象类不能被实例化,抽象类和抽象方法必须被abstract修饰

关键字使用注意:抽象类中的抽象方法(被abstract修饰)不能用private、static、synchronized、native访问修饰符修饰

接口

特点:

1、在接口中只有方法的声明,没有方法体。

2、在接口中只有常量,因为定义的变量在编译的时候都会默认加上public static final

3、在接口中的方法,永远都被public修饰

4、接口中没有构造方法,也不能实例化接口的对象(所以接口不能继承类)

5、接口可以实现多继承

6、接口中定义的方法都需要有实现类来实现,如果实现类不能实现接口中的所有方法则实现类定义为抽象类

7、接口可以继承接口,用extends

基本类型的默认值和取值范围

默认值 存储需求(字节) 取值范围 示例
byte 0 1 -2^7—2^7-1 byte b=10;
char ‘ \u0000′ 2 0—2^16-1 char c=’c’ ;
short 0 2 -2^15—2^15-1 short s=10;
int 0 4 -2^31—2^31-1 int i=10;
long 0 8 -2^63—2^63-1 long o=10L;
float 0.0f 4 -2^31—2^31-1 float f=10.0F
double 0.0d 8 -2^63—2^63-1 double d=10.0;
boolean false 1 true\false boolean flag=true;

Object类的方法

  1. clone()
  2. equals()
  3. finalize()
  4. getClass()
  5. hashCode()
  6. toString()
  7. wait()
  8. notify()\notifyAll()

评论