2、对象和类

来源:互联网 发布:家用网络存储器 编辑:程序博客网 时间:2024/05/16 17:12

1、类与类之间常见的关系:依赖(“uses-a”),聚合(“has-a”), 继承(“is-a”)。

     1)依赖关系是一种最明显、最常见的关系,如果一个类方法操作另一个类的对象,我们就说一个类依赖于另一个类。(在实际开发中,尽可能地降低类之间的相互依赖,也就是低耦合)

     2)聚合是一种实在且易于理解的关系,意味着类A的对象包含类B的对象。其实聚合也是一种特殊的“关联”关系

     3)继承是一种特殊与一般的关系

2、对象和对象变量:要想适用对象必须先构造对象,并指定其初始状态。对象变量不是对象,必须将变量初始化成对象,或者让变量引用一个已经存在的对象。可以显式地将对象变量设置为空(null),表明该变量没用引用任何对象。在java中任何对象变量的值都是对与存储在另一处对象的引用。其实java中的对象变量和c++中的对象指针类似

3、Java库中的GregorianCalender类:GregorianCalender(),GregorianCalender(int year, int month, int day),GregorianCalender(int year, int month, int day, int hour, int minutes, intseconds), get(int field), set(int filed, int vlaue), set(int year, int month,int day), set(int year, int month, int day, int hour, int minutes, int seconds),add(int filed, int amount), setTime(Date time), getTime()对实例域做出修改的方法称为更改器方法(通常更改器前面加set),仅访问实例域不加修改的方法被称为访问器方法(访问器前面加get)

4、Java构造器的工作方式和c++是一样的,但是记住java对象都是在堆中构造的,构造器总是伴随着new操作符一起使用

5、Java中所有方法都必须在类内部定义,但并不表示她们是内联方法;c++中如果在类的内部定义方法,那么这个方法自动成为内联方法

6、 Java中不要编写返回可变对象的访问器方法,因为本质返回的是对象的地址,调用者可以任意的对该对象进行更改,破坏了封装性。需要返回可变对象的引用,应该首先对它进行克隆clone()

7、 final实例域,构建对象的时候必须初始化,后面的操作中不能在进行修改。final修饰符大都应用于基本数据类型域或不可变类的域。对于可变类,final Date hireDate; 仅仅意味着hireDate变量中的对象在构造之后不能改变,也就是引用的对象不能改变,并不意味着hireDate是一个常量,仍然可以对hireDate引用的对象调用setTime更改器

8、静态域:属于类,而不属于任何独立的对象;静态常量使用较多相对于静态变量

9、 Java中方法参数的使用情况:

    1) 一个方法不能修改一个基本数据类型的参数(即数值型和布尔型值)

    2)一个方法可以改变一个对象参数的状态

    3)一个方法不能让对象参数引用一个新的对象

10、方法名和参数类型称为方法的签名,返回类型不是签名的一部分。

11、  可以为任何类添加一个finalize方法,在垃圾回收器清除对象之前被调用。在实际应用中,不要使用finalize方法回收任何短缺的资源,因为很难知道这个方法在什么时候被调用。

12、如果导入的两个类都含有某个方法,需要增加以一个所需要的import语句来明确。但是如果两个类都要使用,可以在使用时加上完整的包名。另外,还可以导入静态方法和静态域,如:import static java.lang.System.*
1 0
原创粉丝点击