java面向对象简要总结 三
一、引用类型
针对java的对象,我们操作的标识符实际上是“引用”,通过引用指向一个对象的地址,类似于C中的指针。我们通过标识符来对对象进行操作。
四种引用类型
java针对不同的引用类型有不同的垃圾回收方式。
1、强引用
java默认的声明方式就是强引用。只要引用还指向某个对象,该对象就不会被回收。
手动将引用设置为“null”可以使对象能被回收。
2、软引用
java的软引用可以将对象设为可被清理状态,当JVM内存不足时,系统将会清理被标识为软引用的对象。
可用ref.get()
来获取引用指向的对象。
3、弱引用
设置弱引用,只要JVM进行垃圾回收,则弱引用指向的对象无论内存剩余情况如何,都会被系统清理。
4、虚引用
虚引用是最弱的一种引用,即使有弱引用指向,没有其他引用指向的对象仍然会被回收。
instanceof 运算符
instanceof
是java保留字,用于测试它左边的对象书否是它右边类的实例。返回值是逻辑型。
二、组合
组合是一种实现程序复用的手段,但不借助继承。相比继承,使用组合的方法进行代码复用能够保证更好的封装性。组合思想将要被复用的父类当做新类(子类)的组成部分,由新类直接调用父类的方法。
例子:
在上述例子中,新建child对象时需要传递一个father对象。
三、初始化块
初始化与构造器类似,都在类中定义用于对对象进行初始化操作。
初始化块分为静态初始化块和非静态初始化块两种:
静态初始化块:
在初始化块之前加上
static
修饰符,只会在类装载到系统时执行一次。非静态初始化块:
不加任何修饰符,在该类的每个对象生成时都会执行一次,且执行顺序在构造方法之前。
初始化块语法格式:
初始化块没有命名,只有{ }
。
可以定义多个初始化块,运行顺序仅依据定义的先后。
四、包装类
java是面向对象的语言,但其包含的8种基本数据类型并不是标准的对象,不支持面向对象的编程机制。如果需要将基本数据类型转换为对应的按类编写的引用类型,从而可以像对象一样对其进行操作。
最后更新于