20100502

第五章
1 接着上回的看 开始讲的是Object这个超类 在JAVA中 除了基本类型之外 其余的类型(包括数组) 都扩展与Object类
2 Object中的equals方法 默认的实现是 两个对象的地址 比较 在实际的应用中 应该根据实际情况 改写此方法。 在覆盖此方法的时候 不可将 参数从Object other改成具体的类型
3 当存在父类子类 进行equals时 注意下面的两点
如果子类能够有自己的相等的概念 则对称性需求将强制采用geClass进行检测
如果由超类决定相等的概念 那么可以使用Instanceof进行检测 这样可以在不同子类地对象之间进行相等的比较
4 instanceof比较的时候 其结果往往不是那么进入人意 看下面的例子
OtherObject instanceof Employee
Employee 为父类 Manager为子类 两者的equals方法如下
Manager instanceof Employee 这是父类调用时候的应用 这是对的
Employee instanceof Manager 这是子类调用时候的应用 这个就有些问题了
5 可以按照 163页 写的步骤 去编写一个equals方法
6 public int hashCode() 方法与equals方法 总是一致的 尤其是在存入集合的时候HASHSET
7 toString方法可以进行覆盖 具体实现看具体的类
8 泛型数组 其中的泛型 仅仅是编译时地概念 可以绕过编译器 其实际运行的时候 也是转换成原始的对象(无泛型)
9 对象的自动打包与拆包 参数数量可变(最后的参数…可以代替数组) 枚举类
其中 第九点 书中讲解的不是太多 更多的还得深入 看其他的资料
第六章
1 接口是 继承之外的另一个很好的选择 对于抽象类与接口 前者 单继承 后者可以多个实现
2 浅拷贝与深拷贝
默认的拷贝是 Object中的 clone方法 浅拷贝
深拷贝 1类实现Cloneable接口 2 调用Object.clone()实现浅拷贝 3 在浅拷贝地基础上进行对象的拷贝
注意这里的clone 仅仅是对象 自己拷贝自己的操作
3 接口回调 此方式往往用于swing开发中
4 内部类
一般的内部类 与方法同级 当内部类是public地时候 可以用outclass.innerclass x=outclassinstance.new innerclass() 来构成对象
局部内部类 在方法内部 不能用public private来修饰 其只能访问外类地final变量
可以通过数组的方式 改变final变量的值
Final int[] count=new int[1]; 这里final表示 引用的地址不变 但是此地址地变量的值 是可以改变的 count[0]++;
匿名内部类 是没有名字的 局部内部类 SSS X=new SSS(){这里面是类的实现}; 无名字即没有构造器
静态内部类 与方法同级 将类变成static 只有内部类才能为static 当此类不引用外部类时候 可以写成 static地

不知道 是写的草 还是这两张真没什么东西 也只能整理到上面的程度了 等以后有机会在进行更改

设计模式
今天开了两个设计模式
1 装饰者模式 – 用继承来实现类型匹配 用组合完成行为改变
用组合干了 感觉是继承应该办的事情
设计原则 : 对扩展开放 对修改关闭 别的还真不知道写什么了
装饰者模式:动态地将责任附加到对象上
2 简单工厂 工厂方法 抽象工厂
简单工程没啥说的
工厂方法:子类动态决定 --- 也就是运行时决定
抽象工厂: 其用工厂方法实现 实现之后用来整合相关的东西
设计原则 : 要依赖抽象 不要依赖 具体类
感觉模式 都是 动态行为改变----依靠接口编程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值