Chinaunix首页 | 论坛 | 博客
  • 博客访问: 39466
  • 博文数量: 17
  • 博客积分: 350
  • 博客等级: 一等列兵
  • 技术积分: 180
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-08 00:09
文章分类
文章存档

2011年(17)

我的朋友

分类: Java

2011-03-17 11:26:17

xbjiang 标签:

1、面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分;

2、由类构造对象的过程称为创建类的实例(instance);

3、对象中的数据称为实例域(instance field),操纵数据的过程称为方法(method);

4、封装是为了让程序仅通过对象的方法与对象数据进行交互。

5、类可以通过扩展其它类来建立,新扩展的类具有原来的类的全部方法和属性,这种扩展的方法称为继承(inheritance);

6、对象的状态改变必须通过调用方法来实现;

7、依赖[uses-a](dependence):一个类的方法需要操纵另一个方法的对象[应尽可能的减少类之间的依赖];

    聚合[has-a](aggregation):一个类的对象包含另一个类的对象;

    继承[is-a](inheritance):一个类的方法由另一个类的方法扩展而成;

8、java使用构造器(constructor)构造新实例,其中构造器与类同名;

9、要构建一个对象,需要在构造器前加new操作符;

10、在java中,对象变量的值都是对存储在另外一个地方的一个对象的引用;

11、不能将一个方法应用于一个值为null的对象,否则将产生运行错误。

12、用于日历表示法的类:GregorianCalendar,而时间点的类则采用Date,java程序设计中,最好采用不同的类表示不同的概念;

13、对实例域做出修改的方法被称为更改器方法(mutator method),命名通常采用set前缀,仅访问实例域而不进行修改的方法称为访问器方法(access method),命名通常采用get前缀;

14、在GregorianCalendar类中,month从0开始计数;

15、在一个源文件中,只能有一个公有类,但可以有任意个非公有类;

16、在程序中,最好的办法是将实例域标记为private。

17、构造器与类同名,每个类可以有一个以上的构造器,每个构造器可以有无参数,构造器无返回值,总是伴随new操作一起被调用,不要在构造器中定义与实例域同名的局部变量;

18、在方法中,关键字this表示隐式参数;

19、要想获得或者更改实例域的值,应提供三个内容:一个私有的数据域,一个公用的域访问器和更改器方法;

20、如果需要返回一个可变数据域的拷贝,应该使用克隆;

21、一个方法可以访问所属类的所有对象的私有数据;

22、静态域属于类,不属于任何独立的对象;

23、静态方法使用类名来调用,两种情况下使用静态方法:一个方法不需要访问对象状态,所需参数都通过显式参数提供;一个方法只需要访问类的静态域;

24、不需要使用对象调用静态方法;

25、java语言采用值调用方式,方法得到的是所有参数值的一个拷贝,方法不能修改传递给它的任何参数变量的内容;

26、方法参数的使用:一、方法不能修改一个基本数据类型的参数;二、方法可以改变对象参数状态(需调用类自身的方法);方法不能实现让对象参数引用另一个新一对象;

27、多个方法有相同的名字,不同的参数,便会有重载特征(overloading);

28、方法签名(signature):要完整的描述一个方法,需要指出方法名及参数类型;

29、默认构造器是指没有参数的构造器,仅当类中没有提供任何构造器时,系统才会提供一个默认的构造器,对构造器的使用一定要注意参数;

30、类第一次加载时,将会进行静态域的初始化;

31、静态导入后,使用该类的静态方法和静态域不必再加类名前缀,常用于两种场合:算术函数;笨重常量;

32、编译器javac对文件进行操作,而java解释器java加载类;编译器在编译源文件时不检查目录结构;

33、类的设计技巧:

      a、一定将数据设计为私有;

      b、一定要对数据进行初始化;

      c、不要在类中过多使用基本数据类型;

      d、不是所有的域都需要独立的域访问器和域更改器;

      e、使用标准格式进行类定义;

      f、将职责过多的类进行分解;

      g、类名和方法名要体现它们的功能;

阅读(333) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~