0
点赞
收藏
分享

微信扫一扫

Java——多态性的理解

雷亚荣 2022-04-18 阅读 81
javaeclipse

面向对象特征之三:多态性

1.理解多态性:可以理解为一个事物的多种形态。

2.何为多态性:对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用)

3.多态的使用:虚拟方法调用。有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。

总结:编译看左边;运行看右边

4.多态性的使用前提:①类的继承关系②方法的重写

5.对象的多态性,只适用于方法,不适用于属性(编译和运行都看左边)

class Base {
	int count= 10;
		
	public void display() {
		System. out. println(this. count) ;
	}
}
class Sub extends Base {
	int count = 20;
		
	public void display() {
		System. out . println(this. count) ;
	}
}

public class Polymorphism {
	public static void main(String[ ] args) {
		Sub s = new Sub();
		System.out.println(s. count);//20
		s.display();//20
		Base b = s;//多态性
		//==:对于引用数据类型来讲,比较的是两个引用数据类型变量的地址值是否相同
		System.out.println(b == s);//true
		System.out.println(b. count);//10,因为多态性适用方法,不适合属性,所以调用的是父类 
                                     //的count
		b.display();//20,这里调用的是方法,所以体现多态性,调用的是子类的count
		}
}

运行结果: 

 

 

举报

相关推荐

0 条评论