目录
|
|
我的总结
Java是一种纯面向对象的语言(虽然含有基本数据类型,但那不是主要部分),我们经常谈到面向对象三大特性:继承、封装、多态,除此之外,还有以下的描述。
- 万物皆对象。对象是抽象出来解决问题的任何程序构件,包括数据结构、班级、服务等。
- 程序是对象的集合,通过结合使用不同的对象解决问题,对象通过发送消息(一般指方法调用)告知彼此所要做的。
- 每个对象都有类型。通俗的说法是,每个对象都是某个类(class)的一个实例(instance)。类型决定对象的这个特性:可以发送什么样的消息给它。
- 某一特定类型的所有对象都可以接受同样的消息。
类是对象的接口,接口是一种协议,一种共同约定,发送/接收消息格式的限定。类似的,Java中有很多类似的思想,后面还会遇到。比如从class -> SomeType —> new —> instance,中间有Interface、AbstractClass等,都有类似的思想。
关于单根继承结构,在JDK 1.8中已经有了变化。Java是允许一个类实现多个接口的,到了JDK 1.8,接口引入了新的特性:默认实现,关键字是default
。在下面的代码中,有相当于多根继承的特点。
|
|
执行new Demo().test()
,可以看到以下结果:
|
|
虽然有悖于之前的直觉—Java是单继承的,但是并没有破坏其面向对象的原则。在Java中,接口更倾向于描述行为规范,与类型还是有区别的,是另一种维度的描述,所以在新版本引入这个特性也是可以理解的。
关于并发,有很重要的一点是,尽量避免共享资源。
除了良好的语言设计,Java的繁荣也是和丰富的开源资源分不开的。而且Java与时俱进,适时加入新特性,方便Developers不断地实现新需求。呵呵哒,需求的产生速度是永远远大于开发速度的,当然,这又是另一个问题了。