第二章:面向对象

OOP理念

1、理解面向对象的四大特性:封装(隐藏内部的实现细节)、继承(谨慎使用、避免方法污染和方法爆炸,考虑使用组合模式)、多态、抽象
2、Object类:我是谁:getclass、tostring
从哪来:objcet、clone(深拷贝、浅拷贝)
到哪去:finalize
我的特殊:hashcode、equal
我的通信:wait、notify、notifyall
3、private、default、protected、public四种作用域及选择(工具类不允许有public或default构造方法)
4、this和super理解和对比

this super
基本概念 访问本类实例属性和方法 由子类访问父类的实例属性和方法
查找范围 先找子类,没有则找父类 直接查找父类
特异功能 单独使用时、表示当前对象 在子类重写父类方法时,访问父类方法
共同点 在构造方法中必须出现在第一行、都是关键字起指代作用

5、序列化(transient关键字的使用)
①、原生序列化(实现serializable接口):保留对象的元数据(类、成员变量、继承信息)及对象数据。性能一般
②、Hessian序列化:自描述序列化类型、语言无关且比原生高效
③、Json序列化:抛弃类型信息,反序列化时需要提供类型
6、静态代码块
创建对象 先执行父类和子类的静态代码块,在执行父类和子类的构造方法。静态代码块只运行一次
静态方法不能使用实例成员的变量和实例方法,不能有this、super关键字
7、重写和重载
①重写规则:一大两小两同,即子类访问权限只能相同或变大,抛出异常和返回值只能变小,方法名和参数必须完全相同
②重载规则:只与方法签名有关:方法名称+参数类型+参数个数
8、泛型
E:代表Element,T 代表 the Type of Object ,K 代表 Key ,V 代表Value,泛型用于类名之后或者方法返回值之前

9、对象的组成:对象头(对象标记和类元信息)、实例数据、对其填充及他们的作用

你可能感兴趣的:(第二章:面向对象)