20100425

JAVA核心卷基础知识上学习
第四章:对象与类
1 类为模板 对象为实例 每一个对象都有相应的状态 及相应的行为
2 继承 封装 多态
最简单的继承是复用 不过更多的是层次结构的一种理解
最简单的封装是数据隐藏 不过更多的是 变化的独立
最简单的多态是 子类当做父类来用 实际运行的是子类 实际来说是 编译器与动态绑定的结合
3 类之间的关系
依赖 use-a
继承 is-a
聚合 has-a
依赖和聚合的简单的区别 就是是否有相应的实例域变量地定义

4 对象 与 对象的引用不同
对象指 实际存储在空间的一堆数据
引用 仅仅表示一个空间地址
5 构造器与类同名 可以有多个 无返回值 必须有new跟随 参数不定
如果没有提供构造器 就缺省有个构造器
如果提供了一个除缺省外的构造器 那么就没有缺省的构造器了(必须主动进行声明)
子类对象的产生一定会先创建父类对象(运行父类对象的构造器)
6 显式参数与隐式参数 前者指的是 方法中存在的参数 后者多数指的是类本身
用this替代
This地用法 1 访问本身参数(局部同名变量屏蔽实例变量) 2调用其他构造方法
Super用法 1 调用父类地方法 super.getXXX 或者 super(a,b,c)调用父类地构造方法
7 对于封装 私有数据
一般提供 私有数据定义 访问器方法 更改器方法
好处 1 可以改变内部实现 而且不影响别的代码
2 更改器方法可以适当的进行错误检查

8 final是不变的 static 是静态的
因为数据与方法 所归属者不同 所以操作不同
有的是类的 所以不能用于特定的实例
有的是实例的 所以不能用于通用的类
9 JAVA 中的重载 看的是 方法名 以及参数签名(个数+类型)
相同名字 参数签名的 返回值类型不同的 是不允许的
10 JAVA 中 对于方法的引用 采用的是 值传递地方式
一般的变量是 值地拷贝
对象的传递是 引用的拷贝
11 对象初始化顺序
1 所有值初始化为默认值
2 按照声明进行 初始化语句public String a=””; 或者初始化块 {}
3 构造器地相互调用
4 执行构造器主体

注意
下面有几个例子 可以看下 隐藏的很深地要注意的东西
1 返回引用可变对象的访问器方法要注意
Class Employee{
Public Date getHirday(){
Return hireday;
}
Private Date hireday;
}

当变量返回之后
Employee e=new ….
Date d=e.getHirday();
d.setTime();------这里可以对返回的对象进行更改

这里引出一个问题 就是可以很随意的改变 对象的私有状态 (在外面) 这个是不允许的
要是想返回的话 就这么写 return (Date)hirday.clone();
2 class Employee{
Boolean equals(Employee other){
Return name.equals(other.name);
}

}
If(harry.equals(boss)) 这里是对的 name是私有的数据
类地方法可以访问类地任何一个对象的私有域


第五章 继承
1 继承可以增加方法 域 以及覆盖方法 且不能进行父类地删除操作
2 编译器与动态绑定
编译器做的是 语法的检验 在运行之前进行判断 --- 这个是可以进行屏蔽的如下
Manager[] managers=new …..
Employee[] staff=managers;
Staff[0]=new Employee()
Managers[0].set……() 这里做的是类型检查 此类型有父类没有的方法 两个【0】引用的都是同一个地址 所以能进行修改
但是真实运行的时候 其地址存储的是 父类(无此方法)
所以编译的时候 查找不出来 只有运行的时候才能。

动态绑定的时候 每个类生成方法表 根据对象实际类型 进行方法调用
3 final类禁止继承
4 抽象类 不一定要含抽象方法 其不能创建实例 但能引用子类对象
5 保护访问 private 本类 public 所有 protected 子类和本包 无 本包

Headfirst 设计模式
今天看的观察者模式
将今天看的和昨天的进行了对比 发现
策略是一个族中的替换 观察者是 两个类之间的 传递
其实他们两个没太大区别 除去特定的应用之外
都是要针对接口编程
不过观察者既然是两者相互关联 所以其更看重的是 接口关系的确定 (不管两者具体实现如何 改动都不影响对方 这里体现了比上者多一个的松耦合地关系)
两者 都是要求变化控制在可控的范围之内 要求以后更新方便
给我的感觉是 可控的变化


今天看的是 除去圣经 之外的那个塔木德 感觉和论语没什么太多的区别
更重要的讲的是一些更实际的东西 可能比论语更加的 细化了
还有就是中西文化的差别 看的不是那么深入 理解也很浅显。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值