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());
    }
}
相关推荐
一条泥憨鱼几秒前
DTO、VO、PO、BO 到底该怎么区分?
java·数据库·状态模式·对象·印象笔记·对象类型
唐青枫1 分钟前
Java Spring Data JPA 实战指南:Repository 查询、分页与实体映射
java
2601_961845421 分钟前
2026四级作文预测26年|英语四级写作范文+模板PDF
java·数据库·spring·eclipse·pdf·tomcat·hibernate
keykey6.2 分钟前
循环神经网络(RNN)与序列模型:让AI学会“记忆“
开发语言·人工智能·深度学习·机器学习
星恒随风7 分钟前
C++ 类和对象入门(四):日期类 Date 的运算符重载实现详解
开发语言·c++·笔记·学习
wuminyu1 小时前
Java锁机制之park与futex系统级协同机制解析
java·linux·c语言·jvm·c++
疯狂打码的少年1 小时前
编译程序与解释程序的区别
java·开发语言·笔记
caimouse4 小时前
reactos编码规范
c语言·开发语言
xieliyu.8 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
明夜之约8 小时前
Spring Boot 自动装配源码
java·spring boot·后端