前言
其实Java基础篇开篇就应该唠“对象”这个概念,因为它是Java这门语言的灵魂,但也不算晚,想了一下有了前面几个篇幅的描述,这个时候回头聊聊“对象”能更好的理解吧,哈哈(瑟瑟发抖中)。
一切都是对象
如果我们说另一种不同的语言,那么我们就会发觉一个有些不同的世界。
在Java语言中,开始进行设计前需要有一个思想上的转变,那就是将现实思想转换到面向对象的世界。
有人就会问“对象”对于Java到底是个啥?咱们现实生活中男女处对象,对了处对象,你也可以把Java中的“对象”理解为现实中的对象,当有了对象,你就可以做很多事情,拉手亲嘴看电影,还有…呃好吧大家自行脑补吧。没对象的,那你只能努力了。
在Java世界,做任何操作都是面向“对象”的,Java开发者为了统一操作,引入了“引用”的概念,比如通过遥控器(引用)操作纵电视机(对象),同时两者又是独立的。
创建对象
在Java语言中创建了引用,就是期望能有一个对象与其关联,否则毫无意义。通过new操作符来实现一个对象的创建,就如同单词字面意思一样新的,给我一个新对象。
不需要考虑手动销毁的对象
什么要销毁对象程序中分配空间的同时也要回收,如果无限制地只分配不回收,那有多少资源都是不够用的,但对于分配与回收是很难把握准确的,从内存泄露再到系统宕机这都是在毫厘之间的,Java语言开发者为我们也是操碎了心,不好管理是吧那我来帮你们做。哈哈。
针对上述的引入了作用域的概念决定了变量的可见性和生命周期,那么对象的作用域呢,对象与基本类型的生命周期还不一样,对象在new之后就会一直存在,只是指向它的引用可能在超出作用域而自然失效,这也就代表着这个对象再也不会被使用到了。
那么这样的对象什么时候被销毁呢,Java引入了垃圾回收机制来通过识别哪些对象不再被引用,然后回收其所占用的空间,这样便实现了自动释放。(后续咱们会针对垃圾回收机制来一篇专讲吧,其机制还是有必要弄清楚的虽然使用者不再关心回收)
类
这样讲吧类就是一个类型的模具,而对象是通过这个模具制出来的成品,这就确定了成品一定是模具对应的类型,二者之间是一对多的关系(换句话讲就是一个模具可制作出来很多成品),前面篇章里提到的String、StringBuilder以及基本类型对应的封装类等等,都是Java固有常驻类,通过已有的来推写新的类,那就简单多了,创建类也有固有的写法,只需要用关键字class修改对应自定义的类名即可完成类的创建。
后话
虽然Java语言到处是对象,但现实生活中处对象可一定得专一,不能三心二意的,要不会内存泄露的哦。(别打我,溜了溜了)。
回见了您。