如何做电子海报在网站,网站管理员登陆不了,做网站虚拟主机价格,沈阳seo推广一、多态
含义#xff1a;方法或对象具有多种形态。是面向对象的第三大特征#xff0c;多态是建立在封装和继承基础上的。
多态的具体体现#xff1a;
1#xff09;方法的多态 #xff08;例如重写和重载#xff09;
2#xff09;对象的多态 多态注意事项#xff1…一、多态
含义方法或对象具有多种形态。是面向对象的第三大特征多态是建立在封装和继承基础上的。
多态的具体体现
1方法的多态 例如重写和重载
2对象的多态 多态注意事项
1多态的前提是两个对象类存在继承关系。
2多态的向上转型 1.本质父类的引用指向了子类的对象 2.语法父类类型 引用名new 子类类型 3.特点编译类型看左边运行类型看右边。 可以调用父类中的所有成员需遵守访问权限 不能调用子类中特有成员在编译阶段能调用哪些成员是由编译类型决定的 最终运行效果看子类的具体实现即调用方法时从子类开始查找方法
3)多态的向下转型 1.语法子类类型 引用名子类类型父类引用 2.特点只能强转父类的引用不能强转父类的对象。 要求父类的引用必须指向的是当前目标类型的对象。 可以调用子类类型中的所有成员。
4直接调用属性时属性没有重写之说属性的值看编译类型。
扩展instanceOf比较操作符用于判断对象的类型此时讨论的是运行类型是否为某类型或某类型的子类型
语法引用类型变量(object) instanceof 类(class)
注instanceof 前面的引用变量编译时的类型要么与后面的类型相同要么与后面的类型具有父子继承关系
package object;public class temp {public static void main(String[] args) {B bnew B();System.out.println(b instanceof B);//结果为trueSystem.out.println(b instanceof A);//结果我true}
}class A{
}
class B extends A{
}二、Java的动态绑定机制 三、多态的应用
1多态数组数组的定义类型为父类类型里面保存的实际元素类型为子类类型。
2多态参数方法定义的形参类型为父类类型实参类型允许为子类类型
四、和equals的对比
1)是比较运算符 2)equals: 是Object类中的方法只能判断引用类型 默认判断的地址是否相等子类中往往重写方法用于判断内容是否相等。
五、hashCode方法 六、toString方法 七、finalize方法
1.当对象被回收时系统自动调用该对象的finalize方法。子类可以重写该方法做一些释放资源的操作
2.什么时候被回收当某个对象没有任何引用时则jvm就认为这个对象是一个垃圾对象就会使用垃圾回收机制并不会马上销毁来销毁该对象在销毁该对象前会先调用finalize方法。
3.垃圾回收机制的调用是由系统来决定也可以通过System.gc()主动触发垃圾回收机制