java多态-cnblog

java多态

细分的重载会增加代码量,降低易用程度

定义一个类,继承所有类的对象,根据向上转型可以让每个类的对象都调用初始类的方法,在方法中设置判断,不同的对象导致方法做不同的事,这就是多态

写一个灯亮的方法,每个灯都要亮

c++ 复制代码
红灯亮45秒
黄灯亮5秒
绿灯亮30秒
c++ 复制代码
package nb;

class Deng{}
class Ld extends Deng{}
class Hd extends Deng{}
class Rd extends Deng{}
public class Dd {
    public static void line(Deng s){
        if (s instanceof Ld){
            System.out.println("绿灯亮30秒");
        }
        if (s instanceof Hd){
            System.out.println("黄灯亮5秒");
        }
        if (s instanceof Rd){
            System.out.println("红灯亮45秒");
        }
    }

    public static void main(String[] args) {
        line(new Ld());
        line(new Rd());
        line(new Hd());
    }
}
相关推荐
Sakuyu434683 分钟前
C语言基础(三)
c语言·开发语言
郝学胜-神的一滴5 分钟前
深入epoll反应堆模型:从libevent源码看高性能IO设计精髓
linux·服务器·开发语言·c++·网络协议·unix·信息与通信
XS0301067 分钟前
Java 基础(十)异常
java·开发语言·oracle
和小潘一起学AI7 分钟前
Python导入私有模块(企业级方案)
开发语言·python
_F_y8 分钟前
C++11 异步操作实现线程池
java·jvm·c++
!停12 分钟前
C++入门STL容器Vector使用基础,深挖 Vector替代 C 语言繁琐容器的利器
开发语言·c++
小何code24 分钟前
【Python零基础入门】第4篇:Python变量与数据类型详解
开发语言·python
xiaoshuaishuai833 分钟前
C# 数字资源分发
开发语言·c#
techdashen33 分钟前
用自家产品构建自家产品:Cloudflare Images 的工程架构解析
开发语言·架构·rust
Lumos_77738 分钟前
Linux -- 共享内存
java·linux·运维