山那边是海 发表于 2015-1-18 11:10:56

发布一篇Java类中域和办法设置中的罕见毛病

Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Oracle收购Sun后Java前途未卜。
在Java程序中,类是实在现功效的中心。假如说开辟Java使用程序,就是一个类的构建与利用的历程这一点都不为过。惋惜的是,很多程序员在编写类的时分,仍是会犯一些惯例的毛病。笔者就对此做一个总结,看列位读者可以引发器重。
1、基础数据范例的初始化成绩。
在Java言语中,跟其他开辟言语一样,都界说了一些基础的数据范例。程序员能够拿来间接利用,还能够用来机关其他一些庞大的使用程序。不外在Java中利用这些基础数据范例有些分歧。在Java言语中,这个基础数据范例次要用在两个中央,分离为类中的成员大概部分变量。关于这些基础的数据范例,常犯的毛病就是没有举行初始化。
假如将某些变量是属于这些基础数据范例的,当他们作为一个类的成员利用时,默许情形下编译器会给其一个默许值。以包管那些是基础范例的成员变量失掉初始化,避免发生程序的毛病。可是,这些默许的初始值年夜部分情形下大概都不切合程序员的必要,多是禁绝确的,也多是分歧法的。为此笔者的倡议是,开辟职员要养成一个好习气,在界说变量的时分(用于类成员),就最好明白的对变量举行初始化。别的必要注重的是,跟C++等编程言语比拟,Java在这方面有了很不错的改良。如假如开辟职员健忘对其举行初始化,Java最少还会接纳默许值对其举行初始化,来避免程序毛病。可是在C++中,则不会对其举行主动初始化。在这类情形下,因为变量没有实时初始化,而很简单呈现程序的溃散。
基础范例的别的一种用处就是看成部分变量来利用,如在轮回语句中看成轮回前提来利用。此时跟类成员分歧,体系不会主动对部分变量举行初始化。良多程序开辟员会在这里栽跟头。由于在类成员中会对其举行主动初始化,而在部分变量也云云。实在否则。当使用inty等语句界说了一个部分变量时,Java跟其他开辟言语一样,是不会对其举行主动初始化的。开辟职员必要在界说变量时就对其举行初始化,这是笔者激烈倡议的。假如在代码编译的时分,部分变量没有被准确的初始化,则体系编译器就会前往一个毛病信息,告知开辟职员某个部分变量没有被准确的初始化,便以不会乐成。在这方面,Java跟其他言语也有所分歧。如在C++中,假如变量没有初始化,那末体系只是抛出一个告诫信息,便以仍旧能够一般举行。这无疑后今后程序运转埋下了一颗准时炸弹。为此笔者以为,Java这类做法是对照平安的。政府部变量没有初始化时,体系会回绝举行编译,而不是复杂的只是一个告诫信息。偶然候,告诫信息其实不可以引发程序开辟职员的器重。
总之,基础数据范例不管是作为类成员变量来利用,仍是作为部分变量来利用,程序开辟职员都要养成一个好习气,即在变量界说的时分即刻举行初始化。即便不晓得还付与甚么值符合,那末最好也是手工的付与其一个默许值。比及变量利用时,在依据实践情形给其从头赋值。不管甚么情形下,变量必定以就要对其举行初始化。
2、给办法设置符合的前往范例。
在Java类中,除成员变量,最主要的就是办法了。而在办法中,对照简单呈现成绩的那就是其前往范例的成绩。这里指的前往范例是指挪用办法后前往的数据范例。也就是说,在办法外部实行一系列的运算以后,要前往给内部的值。开辟职员要依据这个值来设置办法的前往范例。如如今有一个办法age()。次要的用处就是依据身份证号码来推算出这团体的岁数。此时在挪用这个办法时,可使用以下的语句intage1=getage.age()。
那末在界说这个办法的时分,必要注重哪些内容呢?
<p>
通过视频学习比传统的大课堂学习更适合成人化的学习规律。有人说大课堂气氛好,学习氛围浓,热闹,可以认识很多人。

分手快乐 发表于 2015-1-20 16:03:47

Java 编程语言的风格十分接近C、C++语言。

活着的死人 发表于 2015-1-26 15:23:13

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言

若相依 发表于 2015-2-4 13:39:12

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

第二个灵魂 发表于 2015-2-8 07:56:52

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

再现理想 发表于 2015-2-11 07:23:08

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言

老尸 发表于 2015-3-1 23:28:55

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

仓酷云 发表于 2015-3-11 00:53:52

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

变相怪杰 发表于 2015-3-17 17:09:52

Java是一种计算机编程语言,拥有跨平台、面向对java

只想知道 发表于 2015-3-24 13:10:22

Java是一种计算机编程语言,拥有跨平台、面向对java
页: [1]
查看完整版本: 发布一篇Java类中域和办法设置中的罕见毛病