java程序的种类有

来源:互联网 发布:mac 下数据库建模工具 编辑:程序博客网 时间:2024/06/10 01:40

Application

―Java应用程序”是可以独立运行的Java程序。
由Java解释器控制执行。

Applet

  ―Java小程序”不能独立运行(嵌入到Web页中)。
  由Java兼容浏览器控制执行。

Serverlets

是Java技术对CGI 编程的解决方案。
是运行于Web server上的、作为来自于Web browser 或其他HTTP client端的请求和在server上的数据库及其他应用程序之间的中间层程序。
Serverlets的工作是:
读入用户发来的数据(通常在web页的form中)
找出隐含在HTTP请求中的其他请求信息(如浏览器功能细节、请求端主机名等。
产生结果(调用其他程序、访问数据库、直接计算)
格式化结果(网页)
设置HTTP response参数(如告诉浏览器返回文档格式)
将文档返回给客户端。


子类、父类代码块执行顺序

1、静态代码块、静态变量是和类相关的,会随着类的加载而执行,且在类的生命周期内只执行一次;
2、非静态代码块、非静态变量是和对象相关的,每构造一个对象就会执行一次;
执行顺序:
执行父类的静态成员(变量和代码块,执行顺序根据编写的代码顺序执行)-->执行子类的静态成员(变量和代码块,执行顺序根据编写的代码顺序执行)-->执行父类的非静态成员(变量和代码块,执行顺序同上)-->执行父类的构造函数-->执行子类的非静态成员(变量和代码块,执行顺序同上)-->执行子类的构造函数

重载

函数重载指的是:函数名相同,但是参数不同。这里的参数不同指的是以下几种情况:
1. 形参类型不同;
2. 形参个数不同;
这里需要注意的是,函数重载不能基于返回值类型来实现,原因很简单,首先我们需要知道函数重载的实现原理:
某个语言(如C++、java)支持函数重载的原因是,它们将函数的参数作为函数名的一部分编译到了底层语言中,因此,重载的函数就可以基于参数的不同(类型和个数)来区分不同的重载函数。例如:
public void add(int x,int y, int z) --编译以后--> add@int@int@int
public void add(double x, double y ,double z)--编译以后-->add@double@double@double;
pubic  int   add(int x, int y, int z) --编译以后-->add@int@int@int    //和第一个函数冲突,如果第一个函数在基类中,那么这个函数会覆盖(不是重载!!!)第一个函数。
函数的返回值不会参与函数名的编译过程,因此,不能基于函数返回值来重载函数。

数据类型自动转换

数据类型的转换,分为自动转换和强制转换。自动转换是程序在执行过程中 “ 悄然 ” 进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制。

自动数据类型转换

自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下: 
    低 ---------------------------------------------> 高 
    byte,short,char-> int -> long -> float -> double

运算中,不同类型的数据先转化为同一类型,然后进行运算,转换规则如下:


强制数据类型转换

强制转换的格式是在需要转型的数据前加上 “( )” ,然后在括号内加入需要转化的数据类型。有的数据经过转型运算后,精度会丢失,而有的会更加精确

float可以自动转化double,但是反过来得强制转化



0 0
原创粉丝点击