java 抽象类之多态

子类:Abc,Abcd
ABC obj1 = new Abc();
ABC obj2 = new Abc();
这样定义
如果ABC是abstract的有一个show();
子类实现了show()
那么obj1.show()就是第一个子类的show();
obj2.show()就是第2个子类的show();
多态我的理解就是在运行时期表示的多种形态(不准就这意思)
比如说我现在想写一个test 方法这个方法要调用子类的show方法
那么我可以这么定义
void test(ABC temp)
{
    temp.show();
}

这样我如果想运行第一个子类的show()
我就这样ABC obj1 = new Abc();
然后test(obj1);
如果想运行第2个
ABC obj2 = new Abc();
test(obj2);
这样那个抽象类就类似一个接口,我可以用这个接口来生产东西
比如说过一阵我又想写一个新的类继承它,那么
class Abcde extends ABC
{
    void show()
    {...
      }
}
ABC obj3 = new Abcde();
test(obj3);
这样我只写了一个类,声明了一个对象而没有改变原来的代码,直接调用我新写的类即可,完成了代码的重用
以后我再想写新的类只需再这么做而不必改动原来的代码,这个接口就好像能预测将来发生的事,将来完成的东西只要满足这个接口都可以调用这个函数而不必重新写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值