备案域名购买

老域名出售,已备案域名查询,老域名注册,已备案域名交易,买老域名,二手老域名,出售老域名,上饶网站建设

主页 > 建站教程

异常的说明方法

Java鼓励你告诉那些调用你方法的客户程序员们,你定义的方法可能会抛出哪种异常。这是一种很好的做法,因为这么一来,调用方法的人就能知道应该写什么样的代码来捕捉潜在的异常了。当然,如果可以得到源代码的话,客户程序元可以通过查找throw语句来发现这点,但通常情况下,他们是得不到类库的源代码的。为了应付这种情况,Java在语法撒谎能够提供了支持,能让你礼貌告诉客户程序员们,这个方法能抛出什么异常,这样客户程序员就能自行处理了。

你不能对异常说明撒谎。如果你的方法产生一个异常但又不做处理,那么编译器就会提醒你,要么处理这个异常,要么在异常说明部分指明这个方法会抛出这个异常。通过强化这种从顶层到底层的异常说明,Java提供了一定程度的编译时纠正异常的保障。不过还是有个能撒谎的地方:你可以声称方法会抛出一个实际上并不会抛出的异常。编译器会当真的,它会要求客户程序员像真的会抛出异常那样使用这个方法。这么做的好处就是,它能为异常先占个位子,以后你就能真的抛出异常而不用去改动已有的代码了。

标签:异常  说明  方法  zhushican发布于2014/8/14围观评论:0

网站建设中异常处理的模型

理论上将异常处理划分成两种基本模型。中止模型假定错误是如此的严重,以至于你没办法再回到错误发生的地方。也就是说,这段程序经过判断认为,它已经没有办法挽回这个局势了,于是只能抛出异常,并且希望这个错误别再回来。还有一种被称为“继续”,它的意思是,异常处理程序应能做些什么以修补当前的运行环境,然后重新尝试上次出错的那个方法,它假设第二次能获得成功。继续的意思是,处理完异常之后,你仍然希望能继续运行当前的指令。在这种情况下,异常更像是在调用方法——如果你想在Java中得到类似的效果,可以用这个办法来设置运行环境。

标签:网站  建设  异常  处理  模型  zhushican发布于2014/8/14围观评论:0

Java里用户必须亲自清理垃圾

要想清理对象,用户必须在清理的时候调用一个清理方法。这听上去很简单,但却和C++的拆构函数在概念上有一些冲突。C++的对象都会被清除。或者说,对象都必须被清除。如果C++的对象是以本地的形式创建的(也就是说创建在栈里——Java是不可能做到的),那么用花括号关闭这个作用域的时候,对象就被清除了。如果对象是用new创建的,那么当程序员调用C++的delete运算符的时候(Java里面没有),就会调用对象的拆构函数了。如果C++的程序员忘了调用delete,那么拆构函数就永远也不会被调用,这样就留下了一个内存的漏洞,此外对象的其余部分也不会得到清理了。这种bug是很难察觉的,同时它也是让C++的程序员转向Java的一个重要原因。

标签:Java  用户  必须  亲自  清理  垃圾  zhushican发布于2014/8/14围观评论:0

PHP中类型的访问

类型的访问修饰符允许开发人员对类成员的访问进行限制,这是PHP的特性,但却是OOP语言的一个好的特性。而且大多数OOP语言都已支持此特性。PHP支持如下3种访问修饰符:public(公有的、默认的),private(私有的)和protected(受保护的)三种。

Public公有修饰符,类中的成员将没有访问限制,所有的外部成员都可以访问这个类的成员(包括成员属性和成员方法),在PHP以前的版本中,PHP中类的成员都是public的,而且在PHP新版本中如果类的成员没有指定成员访问修饰符,将被视为public。

标签:PHP  类型  访问  zhushican发布于2014/8/13围观评论:0

PHP中抽象方法和抽象类

在OOP语言中,一个类可以有一个或多个子类,而每个类都有至少一个公有方法作为外部代码访问其的接口。而抽象方法就是为了方便继承而引入的。我们在类里面定义的没有方法体的方法就是抽象方法,所谓的没有方法体指的是,在方法声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象方法时还要加一个关键abstract来修饰。

只要一个类里面有一个方法是抽象方法,那么这个类就要定义为抽象类,抽象类也要使用abstract关键字来修饰;在抽象类里面可以有不是抽象的方法和成员属性,但只要有一个方法是抽象的方法,这个类就必须声明为抽象类,使用abstract来修饰。另外最重要的一点就是抽象类不能产生实例对象,所以也不能直接使用,我们经常提到过类不能直接使用,我们使用的是通过类实例化出来的对象,那么抽象类不能产生实例对象我们声明类有什么用呢?

标签:PHP  抽象  方法  抽象类  zhushican发布于2014/8/13围观评论:0

PHP中把对象串行化

有时候需要把一个对象在网络上传输,为了方便传输,可以把整个对象转化为二进制串,等到达另一端时,在还原为原来的对象,这个过程称之为串行化。就像我们现在想把一辆汽车通过轮船运到美国去,因为汽车的体积比较大,我们可以把汽车拆开成小的部件,然后我们把这些部件通过轮船运到美国去,到了美国再把这些部件组装回汽车。

有两种情况我们必须把对象串行化,第一种情况就是把一个对象在网络中传输的时候要将对象串行化,第二种情况就是把对象写入文件或者是数据的时候用到串行化。串行化的两个过程,一个是串行化,就是把对象转化为二进制的字符串,我们使用serialize函数来串行化一个对象,另一个是反串行化,就是把对象的二进制字符串再转化为对象,我们使用unserialize函数来反串行化一个对象。

标签:PHP  对象  串行化  zhushican发布于2014/8/13围观评论:0

PHP多态的应用

多态是除封装和继承之外的另一个面向对象的三大特性之一,我们个人看来PHP中虽然可以实现多态,但和C++还有JAVA这些面向对象的语言相比,多态性并不是那么突出,因为PHP本身就是一种弱类型的语言,不存在父类对象转化为子类对象或者是子类对象转化为父类对象的问题,所以多态的应用并不是那么的明显。

所谓多态性是指一段程序能够处理多种类型对象的能力。比如说在公司上班,每个月财务发放工资,同一个发工资的方法,在公司内不同的员工或者是不同职位的员工,都是通过这个方法发放的,但是所发的工资都是不相同的。所以同一个发工资的方法就出现了多种形态。

标签:PHP  多态  应用  zhushican发布于2014/8/13围观评论:0

PHP自动加载类

很多开发者写面向对象的应用程序时,对每个类的定义建立一个PHP源文件。一个很大的烦恼是不得不在每个脚本(每个类一个文件)开头写一个长长的包含文件的列表。在软件开发的系统中,不可能把所有的类都写在一个PHP文件中,当在一个PHP文件中需要调用另一个文件中声明的类时,就需要通过include把这个文件引入。不过有的时候,在文件众多的项目中,要一一将所需类的文件都include进来,是一个很让人头疼的事情,所以我们能不能在用到什么类的时候,再把这个类所在的PHP文件导入呢?这就是我们这里要讲的自动加载类。

标签:PHP  自动  加载类  zhushican发布于2014/8/13围观评论:0

HTML作用于客户端

如果你的表单完全采用HTML编写,其中包括一个mailto表单动作试图通过email发送表单数据。尽管report.html web页面来自一个web服务器,但它完全在用户的web浏览器上填写和处理。浏览器请求web页面,其中包含这个表单。服务器返回这个web页面的HTML代码,用户填写表单并提交。Form  action标记告诉浏览器请求用户的email程序来创建一个email。用户的email程序利用表单数据创建一个email,最后要用户具体将它发送给你。

一个网页对应一个HTML文件,超文本标记语言文件以.htm(磁盘操作系统DOS限制的英语缩写为扩展名)或.html(英语缩写为扩展名)。可以使用任何能够生成TXT类型源文件的文本编辑器来产生超文本标记语言文件,只用修改文件后缀即可。标准的超文本标记语言文件都具有一个基本的整体结构,标记一般都是成对出现,即超文本标记语言文件的开头与结尾标志和超文本标记语言的头部与实体两大部分。

标签:HTML  作用  客户端  zhushican发布于2014/8/13围观评论:0

PHP仍是纯HTML代码

PHP是一个所写,原来代表Personal Home Pages(个人主页)。不过在后来的发展过程中,这个缩写变为表示PHP。有人认为后一种解释是一个递归的缩写词,因为其中引用了它自身——即缩写PHP本身又出现在这个缩写中,不同的人会有不同的看法。

尽管我们的web浏览器显示的web页面的文件名以.php结尾,这仍是HTML。这是有可能的,因为页面原先作为PHP代码存储在服务器上,不过在传递到浏览器之前会转换为HTML代码。所以服务器会运行PHP代码,并在发送到浏览器查看之前把它转换为HTML代码。这说明,即使一个.php文件包含PHP代码,浏览器也绝对不会单刀,它只会看到服务器上运行PHP代码所得到的HTML代码。

标签:PHP  仍是  纯HTML  代码  zhushican发布于2014/8/13围观评论:0

回顶部