【Java核心技术11版】【第四章】 对象与类摘要

UML记号:

UML很重要!这里应该记一下

 继承和实现接口不用多说。

依赖:一个类要操作另一类类的对象就叫依赖。比如三层架构里,控制器层不依赖数据层,就是说不会直接调数据层的对象的方法。

聚合:has a ,比如 class Student {  Teacher t; }

时间相关的类:Date,LocalDate

new Date()能得到当前时间点的比较完全的信息,localDate则只有年月日。

 点开LocalDate源码,发现确实只保存年月日。

后面有个小例子,员工的雇佣日期用LocalDate保存(当然不需要时分秒)

 Var的使用:只在java10之后

其实意义不大,idea可以自动补全类型(new xxx().var + 回车)

而且容易混淆左边的类型,万一我们想用父类型或者接口类型接受怎么办?书上没有写,我一般用java8,所以不测试了。

关于main方法:

启动一个java程序,需要从main方法开始,但要注意,这个main写在哪个类里都是无所谓的,在idea里点绿色箭头就能去运行,但为了简单起见,最后单独弄一个类来写psvm,不要在有特殊任务的类里写这个启动方法:

 默认字段初始化(一般不要干这种事:

 初始化块(很重要,得学呢!)

其实初始化块和构造方法谁先谁后执行没什么区别(除非你非要写一些依赖执行顺序的代码,也是吃饱了撑的)只要不弄出空指针异常就行,随你喜欢怎么初始化都行。

不过还是可以实验一下

 

 

 注意一下静态的初始化块,只会加载一次:

比如再次实验: 

static块只调用了一次!所以说static块是给static变量初始化用的,因为static变量是跟着类走的,与你有几个对象无关。

而非static块会调用多次,没什么特别的:

运行结果:

 再测试一下不同的普通块初始化的顺序:

结果,构造函数内的代码是最后执行的,前面的代码块从上往下执行:

Jar打包,Javadoc

不是很重要

总结

静态初始化代码块只执行唯一一次(加载类时)

普通的初始化代码块执行多次,从上到下!

除了本文总结的内容以为基本上都是寡话,任何一本书讲面向对象都是差不多的,还是在实际项目中体会吧!

个人心得:面向对象最牛逼的一点是IDE可以用这种方法给程序员提示,一“点”就点出所有可以进行的操作了!不用记那么多API,记几个关键的类就行了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值