java
嘟嘟还没长大
这个作者很懒,什么都没留下…
展开
-
final、static修饰符、abstract关键字
1、Final(不可改变的意思)修饰时 Final类不能被继承,不能有子类防止被继承 Final方法内数据不可变,所以子类不能覆盖父类或者说防止方法的重写 Final变量是常量 常量的话必须要显示初始化或者说手动初始化(因为没有默认值必须有一个特定值)有直接赋值,或者构造方法赋值或者代码块里赋值。 常量只能赋值一次,第二次赋值会报错。 final修饰的引用类型变量只能始终引用一个变量,相当于一...原创 2019-07-06 11:35:31 · 179 阅读 · 0 评论 -
java多态
多态(Polymorphism)按字面的意思就是“多种状态”。多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。在讲多态前先了解静态绑定和动态绑定。 静态绑定 在程序运行之前就知道属于哪个类,在编译的时候就能连接到类,定位找到该方法。 关键字final、private、构造函数和static属于静态绑定。 fi...原创 2019-07-20 13:31:58 · 117 阅读 · 0 评论 -
Java构造方法和子类构造方法
Java构造方法 构造方法是用于初始化一个新建的对象。 普通构造方法 方法名与类名相同 无返回类型 子类不能继承父类的构造方法 不能被static、final、abstract修饰(有final和abstract修饰的是不能被子类继承的,abstract修饰的是抽象类,抽象类是不能实例化的,也就是不能new) public class A{ int i=0; public A(){ ...原创 2019-07-21 23:50:09 · 10405 阅读 · 0 评论 -
组合关系
什么时候要组合? 先谈谈继承:将来自于多个类中相同特征和行为的抽象,提炼出来做父类,子类继承父类后可以继承父类的代码,而且子类也可以扩展自己的属性和方法. 优点: 可以实现代码的复用性. 子类可以扩展自己方法 缺点: java中只能是单继承,不能实现多继承 子类只要是继承父类,就会无条件全部继承的父类的属性 从父类继承而来的实现是静态的,不能在运行时发生改变,不够灵活 那么,如何解决继承的...原创 2019-08-26 23:49:18 · 2056 阅读 · 0 评论 -
LRU算法(缓存淘汰算法)通过继承或者组合
基于继承LinkedHashMap实现LRU算法: LinkedHashMap 存储结构: 链表+散列表 存储算法:LRU+哈希算法 LinkedHashMap 特性 记录元素添加顺序,访问数据 线程不安全 LRU算法:最近最少使用算法 class LruCache extends LinkedHashMap<String,Object> { private int...原创 2019-08-27 00:36:37 · 288 阅读 · 0 评论 -
序列化和反序列化
什么是对象序列化和反序列化 序列化和反序列化是java中进行数据存储和数据传输的一种方式. 对象序列化:将对象转换为字节的过程。 对象反序列化:将字节转换为对象的过程。 注意:有时候把对象转换成字符串也可以理解为序列化 比如 对象转成json格式的字符串 序列化的应用场景 序列化和反序列化通常应用在: 网络通讯(C/S):以字节方式在网络中传输数据 数据存储(例如文件,缓存) 对象的序...原创 2019-10-04 22:33:05 · 700 阅读 · 0 评论