第二章:面向对象

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、对象的组成:对象头(对象标记和类元信息)、实例数据、对其填充及他们的作用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 设计模式概述 在学习面向对象七大设计原则时需要注意以下几点:a) 高内聚、低耦合和单一职能的“冲突”实际上,这两者...
    彦帧阅读 9,145评论 0 14
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,896评论 18 399
  • 学习笔记(十六)摘选自《诗词创作十日谈》--写诗就是写语言 十六,装点字面 李敖在复旦大学演讲时说“当我们说这是女...
    梦与七鹿阅读 3,411评论 0 1
  • 今天早上妈妈和爸爸出去办事了,我和姐姐自己在家,我和姐姐醒了之后,爸爸给我们,准备了早点,我和姐姐吃完了...
    王启萱阅读 7,780评论 1 1