原创

JAVA的多态性

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://xxlcube.blog.csdn.net/article/details/8128317
class Shape {
	public void draw() {
		System.out.println("Draw a shape");
	}
	public void erase() {
		System.out.println("Erase a shape");
	}
}
class Circle extends Shape {
	public void draw() {
		System.out.println("Draw a Circle");
	}
	public void erase() {
		System.out.println("Erase a Circle");
	}
}
class Square extends Shape {
	public void draw() {
		System.out.println("Draw a Square");
	}
	public void erase() {
		System.out.println("Erase a Square");
	}
}
class Triangle extends Shape {
	public void draw() {
		System.out.println("Draw a Triangle");
	}
	public void erase() {
		System.out.println("Erase a Triangle");
	}
}
public class Demo {
	public static void main(String[] args) {
		Shape s = new Circle();
		s.draw();
		s.erase();
	}
}

从结果中,你可以很清楚的看到,最终的draw()和erase()方法是执行哪个类中的?

这就是JAVA中的多态性的典型体现,也可以说是动态绑定,运行时判断对象的真正类型,调用具体的方法。


文章最后发布于: 2012-10-30 14:34:12
展开阅读全文
0 个人打赏
私信求帮助

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 酷酷鲨 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览