教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

Java开发规范V1.2 - 图文(8)

来源:网络收集 时间:2026-08-13
导读: 22 软件开发项目管理培训 return u; } 参看String,Boolean的实现等: String.valueOf(Longl),Boolean.valueOf(String)... 6.5 toString(),equals(),hashCode()... 每个类都应该重载toString()方法,以使该类能输出

22

软件开发项目管理培训

return u; }

参看String,Boolean的实现等:

String.valueOf(Longl),Boolean.valueOf(String)...

6.5 toString(),equals(),hashCode()...

每个类都应该重载toString()方法,以使该类能输出必要和有用的信息等。

/** * @see java.lang.Object#toString() */ public String toString() { final StringBuffer sb = new StringBuffer(\sb.append(\.append(\.append(']'); return sb.toString(); }

若一个类需要重载equals()方法,则必须同时重载hashCode()

方法实现方式参考《Effictive Java》Item7,Item8

/** * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals (Object obj) { //空值 23

软件开发项目管理培训

if( null == obj){

return false; }

//引用相等

if (obj == this) {

return true; }

//判断是否为当前类实例

if (!(obj instanceof Actor)) {

return false; }

//若ID相等则认为该对象相等

return this._id == ((Actor) obj).getId (); } /**

* @see java.lang.Object#hashCode() */

public int hashCode () {

int result = 17;//init result //String 对象hashCode

result = (37 * result) + _name.hashCode (); //数值

result = (37 * result) + (int) (_id ^ (_id >>> 32)); //String 对象hashCode

result = (37 * result) + _description.hashCode (); return result; }

6.6 Singleton Class

24

软件开发项目管理培训

单例类使用如下方式声明,并将其缺省构造方法声明成private:

public class Singleton{ private static Singleton instance = new Singleton(); // 私有缺省构造方法,避免被其他类实例化 private Singleton(){ //do something } public static Singleton getInstance(){ if(null == instance){ instance = new Singleton(); } return instance; } }//EOC Singleton

单例类若需要实现序列化,则必须提供readResolve()方法,以使

反序列化出来的类仍然是唯一的实例,参照《Effictive Java》 Item57。

第7章 方法 7.1 基本原则

一个方法只完成一项功能,在定义系统的公用接口方法外的方法应尽可能的缩小其可见性。

避免用一个类的实例去访问其静态变量和方法。 避免在一个较长的方法里提供多个出口:

25

软件开发项目管理培训

//不要使用这钟方式,当处理程序段很长时将很难找到出口点 if(condition){ return A; }else{ return B; } //建议使用如下方式 String result = null; if(condition){ result = A; }else{ result = B; } return result; 7.2 参数和返回值

避免过多的参数列表,尽量控制在5个以内,若需要传递多个参数时,当使用一个容纳这些参数的对象进行传递,以提高程序的可读性和可扩展性。

参数类型和返回值尽量接口化,以屏蔽具体的实现细节,提高系统的可扩展性,例如:

public void joinGroup(List userList){} public List listAllUsers(){} 26

Java开发规范V1.2 - 图文(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/615121.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)