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());
    }
}
相关推荐
chao189844几秒前
具有飞行约束的无人机MPC MATLAB实现
开发语言·matlab·无人机
沐风。564 分钟前
python
java·服务器·python
leaves falling6 分钟前
C++ 继承详解:从入门到深入
开发语言·c++
zmsofts7 分钟前
java面试必问14:MySQL 索引类型:从基础到优化,面试官给你点赞
java·mysql·面试
helx8210 分钟前
spring-ai 下载不了依赖spring-ai-openai-spring-boot-starter
java
SimonKing11 分钟前
轻量级富文本编辑器Quill,保姆级教程,5分钟快速上手
java·后端·程序员
草木红12 分钟前
Python 中使用 Docker Compose
开发语言·python·docker·flask
lsx20240616 分钟前
PostgreSQL WITH 子句详解
开发语言
ID_1800790547322 分钟前
京东商品详情 API 数据分析业务场景 + JSON 返回参考
java·开发语言
周杰伦fans22 分钟前
C# CAD二次开发:RotatedDimension 旋转标注完全指南
开发语言·c#