对象和类

1.对象的三个特性:

行为:对象能做什么(具有那些方法),能对对象施加社那方法(可用该对象做参数的方法)。

状态:对对象施加方法时,对象如何反应。

身份:如何与具有相同行为,状态的其他对象区别。

2.类之间的关系

依赖("use-a"):一个类中的方法操作了另一个类中的对象,类B的对象作为类A中方法的参数,则类A依赖类B

聚合("has-a"):类A的对象包含类B的对象,类B的对象作为类A的属性

继承("is-a") :父类与子类之间的关系

3.方法参数

传值调用:方法得到的是调用者提供的值。

传引用调用:方法得到的是调用者提供的地址。

java总是使用传值调用。

方法参数的类型

基本类型:

对象引用:

java中对于基本型别的参数是值传递的,如果方法参数是对象的话,传递的将是该对象的一个拷贝引用,因此在

方法中可以修改对象参数的状态,但是不能使对象参数指向新的对象。

示例:

下面的方法用来交换两个员工对象:

public static void swap(Employee x,Employee y) //无法工作

{

Employee temp = x;

x=y;

y=temp;

}

Employee a = new Employee("a");

Employee b = new Employee("b");

Employee.swap(a,b);

这么做是不能实现将两个员工对象交换的目的的,因为java是值传递的,调用这个方法时实际上传递给

x和y的是对象a和b的引用的拷贝,方法只是交换了两个拷贝,而没有改变存储在a和b中的对象引用。当

方法结束后x和y就丢弃了,原来的变量a和b仍然指向方法调用前各自指向的对象。

4finalize方法

java并不支持析构器,但是可以把finalize方法添加的任何类中来执行一些回收操作。finalize方法会在垃圾收集

器清除对象之前被调用。但在实际操作中不要依赖finalize方法回收任何短期资源,因为很难知道这个方法具体什么

时候才被调用。需要在资源使用完毕后立即关闭此资源的话,就需要手工管理。

5工厂方法

产生同一类的对象的方法成为工厂方法。使用工厂方法的原因:

1)无法给构造器命名

2)工厂方法还可以返回从该类继承的子类的对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值