学习记录🤔
更多代码: Gitee主页:https://gitee.com/GZHzzz
博客主页: CSDN:https://blog.csdn.net/gzhzzaa
IDE快捷键
- 自动导入类包,alt+enter;
- 补全代码 alt+/;
- 。var快速分配变量名;
包
- 包就是不同的
文件夹
来保存类`文件``;
- 生成目录,小写包名;
访问修饰符
java 提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围):
- 公开级别:用 public 修饰,对外公开
- 受保护级别:用 protected 修饰,对子类和同一个包中的类公开
- 默认级别:没有修饰符号,向同一个包的类公开
- 私有级别:用 private 修饰,只有类本身可以访问,不对外公开
- 属性、方法、类都可以使用;
- 类只能用默认和public,判断能否继承?
封装
- 通过方法进行授权操作
结合构造器进行封装
将set方法写在构造器中
继承-代码的复用性
public class Pupil extends Student{
}
- 私有属性可以间接通过public方法去get与set;
- public可以打破private进行变量操作;
继承的构造器
- super()默认先调用父类无参构造器;
- 没有无参构造器需要对super传参进行构造器的指定;
- super需要放在第一行;
- 单继承机制;
继承的本质
先加载父类信息-直到Object
- 属性不会重写!访问时先看本类,就近原则!
super关键字
方法的重写override
- 返回类型是子类或者同类;
- 访问权限可以扩大;
多态**难点
- 方法的多态是重载
- 对象的多态是核心
- 编译类型在定义对象已经确定
多态trick
- 向上转型:子类
特有成员
不能调用,只能调用子类重写的方法;
-属性不能重写
,所以调用的是编译类型的对象属性!
向下转型:可以调用子类特有成员;
- 作用在向上转型之后,cat-animal-cat;
instanceof
判断对象的运行类型
是什么类型与子类型?
动态绑定**
- 向上转型:在编译时只能看父类的方法,执行时从子类开始查找方法;
- 调用属性没有动态绑定;
- 向下转型:可以调用父类的方法,因为继承了;
- 和多态在一起用,实现同一父类向上转型的方法调用,不同子类可以重写方法;
多态数组
- 类型判断+向下转型来调用子类特有对象;
多态参数
形参是父类,实参可以是子类;
object类
- 引用类型看运行类型对象是否相同!
- 同一对象
- equals可以比较子类字符串内容,不用同一对象!
- equal是重写!
trick
- 65 = 65.0!
Object类
- system.gc()主动垃圾回收,调用finalize;
创建对象流程
- 默认、显示、构造器初始化
讨论总结
263-286-311-324–334
super调用父类的构造器
和this对构造器的复用
都要在构造器第一行,因此不能一起用;- ctrl+H查看类的继承关系;
- ==看是否为同一对象(基本类型看值 ),equals看是否为同样的地址,可以改写看值!
时间还很多,每天保持思考、保持进步,跬步至千里!
- Fighting!😎
while True:
Go life