5.9 初始化块 5.9.1 使用初始化块 发表于 2019-09-24 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第5章 面向对象(上) , 5.9 初始化块 5.9 初始化块 5.9.1 使用初始化块 初始化块可以有哪些修饰符 初始化块先执行 没必要写多个普通初始化块 普通初始化块 和 实例变量的初始化 按源码顺序执行 阅读全文 »
5.8.2 利用组合实现复用 发表于 2019-09-24 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第5章 面向对象(上) , 5.8 继承与组合 5.8.2 利用组合实现复用 继承子类可以获取父类的公有方法 组合通过定义旧类的成员变量来使用旧类的公有方法 组合设计和继承设计系统开销差不多 什么时候使用继承 什么时候使用组合 阅读全文 »
5.8 继承与组合 5.8.1 使用继承的注意点 发表于 2019-09-24 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第5章 面向对象(上) , 5.8 继承与组合 5.8 继承与组合 5.8.1 使用继承的注意点 继承会破坏父类的封装性 父类设计规则 父类构造器调用被重写方法时容易发生错误 什么时候需要派生子类 阅读全文 »
5.7.3 instanceof运算符 发表于 2019-09-24 更新于 2019-10-16 分类于 疯狂Java讲义 (第4版) , 第5章 面向对象(上) , 5.7 多态 5.7.3 instanceof运算符 instanceof前面的引用变量的编译时类型要与后面的类相同或者有继承关系 instanceof的前面的引用变量的运行时类型决定返回true或flase instanceof运算符的作用 先用instanceof判断再强制类型装换 实例 阅读全文 »
5.7.2 引用变量的强制类型转换 发表于 2019-09-24 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第5章 面向对象(上) , 5.7 多态 5.7.2 引用变量的强制类型转换 引用变量只能调用编译时类型中定义的方法 类型转换符是什么 instanceof运算符 向上转型 阅读全文 »
5.7 多态 5.7.1 多态性 发表于 2019-09-23 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第5章 面向对象(上) , 5.7 多态 5.7 多态 5.7.1 多态性 引用变量的类型 多态存在的三个必要条件 多态方法调用方法时如何确定调用的是哪个方法 实例 默认访问编译时类型中定义的成员变量 阅读全文 »
5.6.4 调用父类构造器 发表于 2019-09-23 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第5章 面向对象(上) , 5.6 类的继承 5.6.4 调用父类构造器 调用 本类 的构造器 调用 父类 的构造器 this调用不super调用不能同时出现 子类构造器会默认调用父类构造器 子类构造器调用父类构造器的情况 父类构造器最先执行完毕 阅读全文 »
5.6.3 super限定 发表于 2019-09-22 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第5章 面向对象(上) , 5.6 类的继承 5.6.3 super限定 super不能出现在staitc修饰的方法中 子类同名实例变量会覆盖父类变量 系统查找变量的顺序 被覆盖的是类变量的情况 系统依旧为被覆盖的变量分配内存空间 引用变量类型绝对调用的是哪个实例变量 实例 阅读全文 »
5.6.2 重写父类的方法 发表于 2019-09-22 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第5章 面向对象(上) , 5.6 类的继承 5.6.2 重写父类的方法 方法重写 方法重写规则 子类 对象 无法访问被覆盖父类的方法 子类 方法 可以调用被覆盖的父类方法 子类方法 中如何调用被覆盖的父类方法 父类中private修饰的方法无法重写 所谓重写父类private方法只不过是子类中定义的新方法,不算重写 重载和重写的区别 父类方法和子类方法 可以重载 方法重写要求 方法重载的要求 什么时候发生子类方法和父类方法的重载 参考资料 阅读全文 »
5.6 类的继承 5.6.1 继承的特点 发表于 2019-09-22 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第5章 面向对象(上) , 5.6 类的继承 5.6 类的继承 5.6.1 继承的特点 继承关键字 继承语法格式 extends关键字也可以叫扩展 默认父类 阅读全文 »