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());
    }
}
相关推荐
最初的↘那颗心2 分钟前
Prompt 工程实战:五要素框架与 Spring AI 模板化落地
java·大模型·prompt工程·spring ai·ai应用开发
寻寻觅觅☆7 分钟前
东华OJ-进阶题-19-排队打水问题(C++)
开发语言·c++·算法
前进的李工8 分钟前
LangChain使用之Model IO(提示词模版之PromptTemplate)
开发语言·人工智能·python·langchain
superkcl202223 分钟前
C++初始化列表
开发语言·c++
biter down29 分钟前
C++设计一个不能被拷贝的特殊类
开发语言·c++
似水明俊德36 分钟前
10-C#
开发语言·windows·c#
东离与糖宝39 分钟前
Java 21 虚拟线程与 AI 推理结合的最新实践
java·人工智能
似水明俊德42 分钟前
14-C#
开发语言·c#
勇敢牛牛_1 小时前
【aiway】基于 Rust 开发的 API + AI 网关
开发语言·后端·网关·ai·rust