Java的多态

Java是一种面向对象编程语言,抽象、继承、封装、多态,是面向对象语言的四个基本特征,

抽象、继承和封装是多态的基础,同时多态是抽象、继承、封装的表现形式,

因此,要构成多态的必要条件,

1.必须要有继承,

2.必须要有子类重写父类的方法,

3.父类的引用变量指向子类的实例,

第2点中重写父类的方法的条件有三种情况是不能实现多态

1.父类的方法是静态方法,静态方法是属于类本身而不是对象,静态方法是跟随类本身在类加载时期同时加载至JVM,

2.父类的方法是final修饰,不能够被子类重写,

3.父类的方法是private私有方法,至提供给对象本身使用,对子类不开放,或者是protected方法。它虽然能被子类所重写,但是protected受保护的对象不能被别的外部方法访问,

因此也是不能够体现多态的特性,

多态的分类有两类

1.方法的重载,多个方法的方法名相同,参数列表,参数类型,参数顺序的不同构成一组重载方法,在编译时期体现,

2.方法的重写,子类在继承父类时,重写父类的方法,并且在程序运行时期调用父类引用指向的对象的方法,

猜你喜欢

转载自www.cnblogs.com/sunshine798798/p/9029320.html