其他分享
首页 > 其他分享> > 多态、super与this

多态、super与this

作者:互联网

多态

方法的多态:同一个方法名:参数列表不同,调用不同的方法(方法的重载);类的不同,调用不同的方法(方法的重写)

类的多态:同一个对象,可根据不同的实参类,调用不同的行为方式;

  1. 多态的前提必须满足:继承、方法重写、向上转型3个条件

  2. 一个对象的编译类型和运类型可以不一致;

  3. 编译类型在定义对象时,就确定了,不能改变;

  4. 运行类型是可以变化的;

  5. 编译类型看定义时 = 的左边;运行类型看 = 的右边;

  6. 多态是方法的多态,属性没有多态;属性的值看编译类型;

  7. 父类和子类,有联系; 类型转换异常:ClassCastException!


父类的引用指向了子类的对象

父类类型 引用名 = new 子类类型();向上转型

①引用可以调用父类中的所有成员(遵循访问权限),

②不能调用子类特有成员(因为在编译阶段,能调用哪些成员,由编译类型决定);

③最终运行效果看子类(运行类型)的具体实现;运行类型时是可以变化的,从子类寻找方法至父类



Java的动态绑定机制

  1. 当调用对象方法的时候,该方法会和该对象的内存地址(即运行类型)绑定;

  2. 当调用对象属性时,没有动态绑定,哪里声明哪里使用;

this关键字

  1. 调用对象属性

  2. 调用其他的构造方法,只能构造方法调用构造方法,

this. xxx = ;代表当前类的,=后面的值通常是参数传进来的值

super关键字

super调用父类构造方法:super(parameter-list);parameter-list指定了父类构造方法中的所有参数,super()必须在子类构造方法的方法体的第一行

final关键字

标签:调用,构造方法,子类,多态,类型,父类,super
来源: https://www.cnblogs.com/xuduoduo92/p/16552368.html