标签:print 子类 强制类型转换 调用 str 关键字 一个 dem xtend
多态的体现
1、方法的重载与重写
2、对象的多态性
对象的多态性
程序会自动完成
父类 父类对象 = 子类实例
强制类型转换(向下转型必须要先向上转型,再向下转型)
子类 子类对象 = (子类)父类实例
Eg:A a=new B;B b=(B)a;
多态性的使用
一个简单的例子:
class A { public void tell(){} } class B extends A { public void tellB(){} } class C extends A { public void tellC(){} } public class Demo { public static void main(String args[]){ say(new B()); say(new C()); } public void say(A a) { a.tell(); } }
说明:如果不使用多态,则需要重载say方法,有几个对象调用就需要重载几次。而这样的写的话,则会产生更过的冗余代码。Demo代码如下:
public class Demo{
public static void main(String args[]){ say(new B()); say(new C()); } public void say(B b){ b.tell(); } public void say(C c){ c.tell(); } }
instanceof关键字
作用
判断一个实例是否是一个类的对象,返回boolean
示例代码如下:
A a1 = new A(); System.out.printeln(a1 instanceof A); System.out.printeln(a1 instanceof B); A a2 = new B(); System.out.printeln(a2 instanceof A); System.out.printeln(a2 instanceof B); 执行结果: true false true true
标签:print 子类 强制类型转换 调用 str 关键字 一个 dem xtend
原文地址:http://www.cnblogs.com/xiaobaizhiqian/p/7624662.html