1.学习内容
-
Java接口
- java接口就是一种规则标准
- 当一个类所有方法都是抽象的,可以使用interface定义,定义为接口
- 接口成员
- 成员变量:固定修饰符 (public final static)数据类型 变量名 = 值;
- 成员方法:固定修饰符 返回值 方法名();
- 固定修饰符:可以省略
- 接口的优势
- 解决了多继承不安全的问题
- 多个类同样方法,接口只实现一个(没有方法体,实现是唯一)
- 多个类同样方法,继承不知道调用哪个方法(因为多继承有方法体)
- 编译文件后缀
- java文件 –> class
- interface –> class
- 注意:
- 接口不能实例化对象
- 需要子类实现,implements 关键字
- 换了名词:接口类,实现类
- 接口支持多继承 extends A,B
-
JDK8 对接口进行了修改
- 增加了方法体 默认方法 default
- public default func(){}
- 接口中,可以有方法体,但是也需要继承才能使用
- 方便扩展类,继承的类继承默认,不会报错
- 有点像抽象类,可以重写方法
- 静态方法修饰
- 静态方法不能被重写
- 可以用static修饰
- public static func(){}
-
Java 多态
- 一个事物,具备多种形态
- 多态的前提:
- 要有继承或者接口实现
- 要有方法的重写
- 建立对象
- 父类或者接口 变量 = new 子类或者实现对象();
- 多态程序的细节
- 1.成员变量特点
- 编译:父类中是否有子类需要的变量,没有就报错
- 运行:运行父类中的变量
- 2.方法的特点
- 编译:看父类中是否有这个方法,没有就报错
- 运行:优先运行子类中的方法重写,其次才是父类中的方法
- 结论:
- 变量:编译运行都是父类
- 方法:编译看父类,运行看子类
- 多态的说明
- 优点:无线扩充子类功能
- 缺点:只能调用父类子类共性内容
- 编译时候,找不到子类特定的方法
- 基本数据转型:
- 向上转型(自动转换)
- 小的转换成大的(子类->父类,接口类->实现类)
- byte->short->int->float->double
- 向下转型(强制转换)
- 大的转成小的(父类->子类,实现类->接口类)
- (强转类型)(需要转换类型)
- 可以调用子类特有方法
- 判断对象的类型
- 关键字:instanceof
- 使用: 对象 instanceof 类 ,返回一个bool类型
- 强类型语言和弱类型语言
- 强制类型:参与运算的数据,必须保证类型的一致性、类型不一致,就会转换类型为一致的
- 弱类型语言:
- JVM的动态绑定技术
- javac的时候 看父类,
- 运行的时候,JVM会动态的绑定到子类的对象中
2.扩展延伸知识
-
接口继承多个类的一些问题
-
1.是否需要都是抽象方法?
- 除了default方法
-
2.super()是否能够使用,调用的是哪个方法?
- 可以调用super(),不知道调用的是啥
-
3.default 碰撞是什么东西?
- 两个接口,碰到了同一个被default修饰方法名的方法
3.灵感代办
- 能够写出接口的定义格式
- 能够写出接口的实现格式
- 能够说出接口中的成员特点
- 能够说出接口和抽象类的区别
- 能够说出多态的前提
- 能够写出多态的格式
- 能够理解多态向上转型和向下转型
- 能够完成笔记本案例
4.复习内容
-
Redis基本使用复习
- Redis建立连接池
- 使用方法redis.ConnectionPool(连接对象)
- Redis五大基本类型
- 字符串
- 介绍:存放字符串
- 常用:
- SET,SETEX,GET,MSET,MSETNX,MGET 基本
- INCR,DECR,INCRBY,DECRBY 字段自增长
- APPEND追加 STRLEN长度 DEL删除
- MSET,MGET是同时设置多个字符串或者获取多个字符串
- 哈希表、
- 介绍:
- 有一个String作为哈希表的名称,里面是fields(字段)
- fields类似字典,键和值对应
- 适合存储对象
- 常用
- HSET,HGET,HMSET,HMGET,HKEYS,HVALUES
- HGETALL,HEXISTS,HINCRBY,HDEL
- 列表
- 一个列表,可以头插,尾插,指定插入
- 列表操作是入栈出栈,所以使用PUSH和POP
- 常用
- LPUSH ,RPUSH,LPOP,RPOP,RPOPLPUSH(进一个出一个)
- LREM,LLEN,LINDEX,LINSERT,LTRIM,BLPOP,BRPOP
- BRPOPLPUSH
- 集合
- 介绍
- 是String类型的无需集合
- 适合去重操作
- 哈希实现定位,时间复杂度都是O(1)
- 集合是Set 所以使用S开头
- 常用
- SADD,SISMEMBER,SPOP,SREM,SMOVE,SCARD,SSCAN,SINTER,SUNION,SDIFF,SDIFFSTORE
- SSCAN的游标
- Sccan key cursor match *匹配什么 count 几条
- 判断是否迭代完一圈,如果没有,继续返回的cursor迭代
- 有序结合
- 介绍
- 有序的集合,其余特性都一样
- 有序集合开头字符是Z
- 常用
- ZADD,ZSCORE,ZCARD,ZCOUNT,ZRANGE 都差不多用时候再查
5.学习成果&问题
Java接口
- java接口就是一种规则标准
- 当一个类所有方法都是抽象的,可以使用interface定义,定义为接口
- 接口成员
- 成员变量:固定修饰符 (public final static)数据类型 变量名 = 值;
- 成员方法:固定修饰符 返回值 方法名();
- 固定修饰符:可以省略
- 接口的优势
- 解决了多继承不安全的问题
- 多个类同样方法,接口只实现一个(没有方法体,实现是唯一)
- 多个类同样方法,继承不知道调用哪个方法(因为多继承有方法体)
- 编译文件后缀
- java文件 –> class
- interface –> class
- 注意:
- 接口不能实例化对象
- 需要子类实现,implements 关键字
- 换了名词:接口类,实现类
- 接口支持多继承 extends A,B
JDK8 对接口进行了修改
- 增加了方法体 默认方法 default
- public default func(){}
- 接口中,可以有方法体,但是也需要继承才能使用
- 方便扩展类,继承的类继承默认,不会报错
- 有点像抽象类,可以重写方法
- 静态方法修饰
- 静态方法不能被重写
- 可以用static修饰
- public static func(){}
Java 多态
- 一个事物,具备多种形态
- 多态的前提:
- 要有继承或者接口实现
- 要有方法的重写
- 建立对象
- 父类或者接口 变量 = new 子类或者实现对象();
- 多态程序的细节
- 1.成员变量特点
- 编译:父类中是否有子类需要的变量,没有就报错
- 运行:运行父类中的变量
- 2.方法的特点
- 编译:看父类中是否有这个方法,没有就报错
- 运行:优先运行子类中的方法重写,其次才是父类中的方法
- 结论:
- 变量:编译运行都是父类
- 方法:编译看父类,运行看子类
- 多态的说明
- 优点:无线扩充子类功能
- 缺点:只能调用父类子类共性内容
- 编译时候,找不到子类特定的方法
- 基本数据转型:
- 向上转型(自动转换)
- 小的转换成大的(子类->父类,接口类->实现类)
- byte->short->int->float->double
- 向下转型(强制转换)
- 大的转成小的(父类->子类,实现类->接口类)
- (强转类型)(需要转换类型)
- 可以调用子类特有方法
- 向上转型(自动转换)
- 判断对象的类型
- 关键字:instanceof
- 使用: 对象 instanceof 类 ,返回一个bool类型
- 强类型语言和弱类型语言
- 强制类型:参与运算的数据,必须保证类型的一致性、类型不一致,就会转换类型为一致的
- 弱类型语言:
- JVM的动态绑定技术
- javac的时候 看父类,
- 运行的时候,JVM会动态的绑定到子类的对象中
- 1.成员变量特点
-
接口继承多个类的一些问题
-
1.是否需要都是抽象方法?
- 除了default方法
-
2.super()是否能够使用,调用的是哪个方法?
- 可以调用super(),不知道调用的是啥
-
3.default 碰撞是什么东西?
- 两个接口,碰到了同一个被default修饰方法名的方法
-
3.灵感代办
- 能够写出接口的定义格式
- 能够写出接口的实现格式
- 能够说出接口中的成员特点
- 能够说出接口和抽象类的区别
- 能够说出多态的前提
- 能够写出多态的格式
- 能够理解多态向上转型和向下转型
- 能够完成笔记本案例
4.复习内容
-
Redis基本使用复习
- Redis建立连接池
- 使用方法redis.ConnectionPool(连接对象)
- Redis五大基本类型
- 字符串
- 介绍:存放字符串
- 常用:
- SET,SETEX,GET,MSET,MSETNX,MGET 基本
- INCR,DECR,INCRBY,DECRBY 字段自增长
- APPEND追加 STRLEN长度 DEL删除
- MSET,MGET是同时设置多个字符串或者获取多个字符串
- 哈希表、
- 介绍:
- 有一个String作为哈希表的名称,里面是fields(字段)
- fields类似字典,键和值对应
- 适合存储对象
- 常用
- HSET,HGET,HMSET,HMGET,HKEYS,HVALUES
- HGETALL,HEXISTS,HINCRBY,HDEL
- 列表
- 一个列表,可以头插,尾插,指定插入
- 列表操作是入栈出栈,所以使用PUSH和POP
- 常用
- LPUSH ,RPUSH,LPOP,RPOP,RPOPLPUSH(进一个出一个)
- LREM,LLEN,LINDEX,LINSERT,LTRIM,BLPOP,BRPOP
- BRPOPLPUSH
- 集合
- 介绍
- 是String类型的无需集合
- 适合去重操作
- 哈希实现定位,时间复杂度都是O(1)
- 集合是Set 所以使用S开头
- 常用
- SADD,SISMEMBER,SPOP,SREM,SMOVE,SCARD,SSCAN,SINTER,SUNION,SDIFF,SDIFFSTORE
- SSCAN的游标
- Sccan key cursor match *匹配什么 count 几条
- 判断是否迭代完一圈,如果没有,继续返回的cursor迭代
- 有序结合
- 介绍
- 有序的集合,其余特性都一样
- 有序集合开头字符是Z
- 常用
- ZADD,ZSCORE,ZCARD,ZCOUNT,ZRANGE 都差不多用时候再查
5.学习成果&问题
-
Redis基本使用复习
- Redis建立连接池
- 使用方法redis.ConnectionPool(连接对象)
- Redis五大基本类型
- 字符串
- 介绍:存放字符串
- 常用:
- SET,SETEX,GET,MSET,MSETNX,MGET 基本
- INCR,DECR,INCRBY,DECRBY 字段自增长
- APPEND追加 STRLEN长度 DEL删除
- MSET,MGET是同时设置多个字符串或者获取多个字符串
- 哈希表、
- 介绍:
- 有一个String作为哈希表的名称,里面是fields(字段)
- fields类似字典,键和值对应
- 适合存储对象
- 常用
- HSET,HGET,HMSET,HMGET,HKEYS,HVALUES
- HGETALL,HEXISTS,HINCRBY,HDEL
- 介绍:
- 列表
- 一个列表,可以头插,尾插,指定插入
- 列表操作是入栈出栈,所以使用PUSH和POP
- 常用
- LPUSH ,RPUSH,LPOP,RPOP,RPOPLPUSH(进一个出一个)
- LREM,LLEN,LINDEX,LINSERT,LTRIM,BLPOP,BRPOP
- BRPOPLPUSH
- 集合
- 介绍
- 是String类型的无需集合
- 适合去重操作
- 哈希实现定位,时间复杂度都是O(1)
- 集合是Set 所以使用S开头
- 常用
- SADD,SISMEMBER,SPOP,SREM,SMOVE,SCARD,SSCAN,SINTER,SUNION,SDIFF,SDIFFSTORE
- SSCAN的游标
- Sccan key cursor match *匹配什么 count 几条
- 判断是否迭代完一圈,如果没有,继续返回的cursor迭代
- Sccan key cursor match *匹配什么 count 几条
- 介绍
- 有序结合
- 介绍
- 有序的集合,其余特性都一样
- 有序集合开头字符是Z
- 常用
- ZADD,ZSCORE,ZCARD,ZCOUNT,ZRANGE 都差不多用时候再查
- 介绍
- 字符串
- Redis建立连接池
5.学习成果&问题