shenang博客技术文档


理论不懂就实践,实践不会就学理论!

posts - 35,comments - 55,trackbacks - 0
 

                Java核心技术8总结()

 

1、依赖,聚合,继承

依赖:果一个类的方法操纵另一个类的对象,我们就说一个类依赖于另一个类。

聚合:A的对象包含类B的对象。

继承:,如果类A扩展类B,类A不但包含从类B继承的方法,还会拥有一些额外的功能。

2、日历Calendar

(1)创建

GregorianCalendarcalendar=new regorianCalendar(2008,Calendar.DECEMBER,01);

(2)set.get.add的用法

3、关于static

有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。

总结:

   变量:不要加static

   常量:加上static

   方法:一般不要加static,除非这个方法不允许对象操作。

4Factory方法

NumberFormat format=NumberFormat.getPercentInstance();

              NumberFormat format2=NumberFormat.getCurrencyInstance();

              int x=1;

              System.out.println(format.format(x));

              System.out.println(format2.format(x));

结果:

100%

1.00

5类设计技巧

1)一定将数据设计为私有。

最重要的是:绝对不要破坏封装性。有时候,需要编写一个访问器方法或更改器方法,但是最好还是保持实例域的私有性。很多惨痛的经验告诉我们,数据的表示形式很可能会改变,但它们的使用方式却不会经常发生变化。当数据保持私有时,它们的表示形式的变化不会对类的使用者产生影响,即使出现bug也易于检测。

2)一定要对数据初始化。

Java不对局部变量进行初始化,但是会对对象的实例域进行初始化。最好不要依赖于系统的默认值,而是应该显式地初始化所有的数据,具体的初始化方式可以是提供默认值,也可以是在所有构造器中设置默认值。

3)不要在类中使用过多的基本数据类型。

就是说,用其他的类代替多个相关的基本数据类型的使用。这样会使类更加易于理解且易于修改。例如,用一个称为Address的新的类替换下面的Customer类中的实例域:

 

这样,可以很容易地顺应地址的变化,例如,需要增加对国际地址的处理。

4)不是所有的域都需要独立的域访问器和域更改器。

或许,需要获得或设置雇员的薪金。而一旦构造了雇员对象,就应该禁止更改雇用日期,并且在对象中,常常包含一些不希望别人获得或设置的实例域,例如,在Address类中,存放州缩写的数组。

5)使用标准格式进行类的定义。

一定采用下面的顺序书写类的内容:

公有访问特性部分

包作用域访问特性部分

私有访问特性部分

在每一部分中,应该按照下列顺序列出:

实例方法

静态方法

实例域

静态域

毕竟,类的使用者对公有接口要比对私有的实现细节更感兴趣,并且对方法要比对数据更感兴趣。

但是,哪一种风格更好并没有达成共识。Sun的程序设计风格建议 Java程序设计语言先书写域,后书写方法。无论采用哪种风格,重要的一点是要保持一致。

6)将职责过多的类进行分解。

这样说似乎有点含糊不清,究竟多少算是过多?每个人的看法不同。但是,如果明显地可以将一个复杂的类分解成两个更为简单的类,就应该将其分解(但另一方面,也不要走极端。设计10个类,每个类只有一个方法,显然也太小了)。

7)类名和方法名要能够体现它们的职责。

与变量应该有一个能够反映其含义的名字一样,类也应该如此(在标准类库中,也存在着一些含义不明确的例子,如:Date类实际上是一个用于描述时间的类)。

命名类名的良好习惯是采用一个名词(Order)、前面有形容词修饰的名词(RushOrder)或动名词(有“-ing”后缀)修饰名词(例如,BillingAddress)。对于方法来说,习惯是访问器方法用小写get开头(getSalary),更改器方法用小写的set开头(setSalary)。

posted on 2009-04-13 14:40 重庆理工小子 阅读(276) 评论(0)  编辑  收藏 所属分类: JAVA基础

只有注册用户登录后才能发表评论。


网站导航: