目录
1. 向上转型
2. 向下转型
3. java的动态绑定机制:
4. Object类讲解
5. 断点调试
1. 向上转型
提前:俩个对象(类)存在继承关系
本质:父类的引用指向了子类的对象
语法:父类 类型 引用名 = new 子类类型();
特点:
1. 编译类型看左边,运行类型看右边。
2. 可以调用父类中的所有成员(遵循守访问权限)
3. 不能调用子类中特有成员
4. 最终运行效果看子类的具体实现!
2. 向下转型
语法 :子类 类型 引用名 = (子类类型)父类引用;
只能强转父类的引用,不能强转父类的对象
要求父类的引用必须指向的是当前目标类型的对象
当向下转型 可以调用子类类型中所有的成员
注意细节:
属性没有重写一说!属性的值看编译类型
instanceOf 比较操作符,用于判断对象的运行类型是否为XX类型或XX类型的子类型。
3. java的动态绑定机制:
1. 当调用对象方法的时候,该方法会和对象的内存地址/运行类型绑定
2. 当调用对象属性时,没有动态绑定机制,哪里声明,哪里使用
4. Object类讲解
1. ==:即可以判断基本类型,又可以判断引用类型,判断的地址是否相等,即判断是不是同一个对象
2. equals:是object类中的方法,只能判断引用类型。
3. hashCode方法:提高具有哈希结构容器的效率
4. toString方法:打印对象或拼接对象时,都会自动调用该对象的toString形式。当直接输出一个对象时,toString就会默认的调用
5. finalize方法:当对象被回收时,系统自动调用该对象的finalize方法。子类可以重写该方法,做一些释放资源的操作。
5. 断点调试
1. 在开发中,新手程序员在查找错误时,老程序员就会温馨提醒,可以用断点调式,一步一步的看源码执行的过程,从而发现错误所在
2. 在断点调式过程中,是运行状态,是以对象的运行类型来执行的
介绍:
断点调试在程序某一行设置一个断点,调试时,程序运行到这一行就会停住,然后一步一步往下调试,调试会看到各个变量的值,出错的话,调试到出错代码行即显示错误,停下,分析找到bug。