面向对象编程有三大特性:封装,继承,多态
多态时父类跟子类的构造函数都会被调用?
答:子类默认调用父类的无参构造方法,所以如果子类没有显示调用父类的构造方法,父类中没有无参的的构造函数,编译出错
多态:
1.实现多态的三个条件
a.必须要有继承关系子类跟父类
b.子类要重写父类的方法,子类对父类的方法重新定义,在调用这些方法时就会调用子类的方法
c.有向上转型,将子类的引用赋给父亲类对象,这样可以调用父类和子类的方法
2.子类的方法的访问权限必须要比父类的方法更广泛
3.一个引用类型变量如果是父类的类型,但实际引用的是子类对象,那么这个对象不能引用子类新添加的属性和方法;
4,多态的变现形式:a,方法的重写和重载,方法绑定到对象类型上。b,父亲的变量指向不同子类的对象。c,同一个对象被不同的父类型变量引用