Java的函数的奇怪重载是什么
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章给大家分享的是有关Java的函数的奇怪重载是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。大家都知道,Java中的类只能继承
千家信息网最后更新 2026年11月01日Java的函数的奇怪重载是什么
本篇文章给大家分享的是有关Java的函数的奇怪重载是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
大家都知道,Java中的类只能继承一个父类,但是可以实现多个接口。之所以这样,据说是因为多重继承的概念比较混乱。但是,多接口实现会出现更加混乱的问题。
1. 如果一个类实现了两个接口,但是两个接口中有签名一致的函数,怎么办?
实际上,在同一个函数中,只能有一个签名一致的函数。如下:
interface ClickListener { void fire(); } interface TouchListener { void fire(); } class Button implements ClickListener, TouchListener { @Override public void fire() { // ... } }两个Listener的对fire的调用,都会指向同一个函数。
2. 在1的基础上,如果Button的父类已经有一个签名一致的函数。如下:
interface ClickListener { void fire(); } interface TouchListener { void fire(); } class ButtonBase { public void fire() { // ... } } class Button extends ButtonBase implements ClickListener, TouchListener { }那么此时Button中可以不存在任何函数。两个Listener的对fire的调用,都会指向ButtonBase中的函数。奇怪么?
这种奇怪的做法和C++中的"复杂"多重继承相比,在被调用函数中完全不知道调用来自哪个Listener触发,无法根据不同的来源做不同的处理。更加变态的是,如果两个Listener中的函数只有返回值不一样的时候--对不起,悲剧了--你不能同时实现这两个接口--因为编译器不支持。
但是,这种奇怪的做法也有其实际的用途,请看下例:
/* public interface */ public interface Animal { void run(); } /* internal class */ private class Dog { @Override void run() { // ... } } /* public interface */ public FlyAnimal extends Animal { void fly(); } /* internal class */ private class FlyDog extends Dog implements FlyAnimal { @Override void fly() { // ... } }我只能说,Java太凶残了。
以上就是Java的函数的奇怪重载是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
函数
两个
接口
一致
不同
混乱
做法
实际
指向
更多
知识
篇文章
凶残
复杂
实用
之所以
变态
只有
同时
基础
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
深圳互联网络科技有限公司
互联网女皇 腾讯科技
互联网科技的未来发展
互联网科技宣传片
福州新华互联网科技学校 知乎
互联网科技教育视频
成都铂石互联网科技做什么的
翼展科技 首家互联网医院
银行科技岗属于互联网吗
产业互联网科技服务公司
互联网相关科技技术
互联网科技包装股份有限公司上市
抖集互联网科技技术咨询
互联网时代科技型公司的机会
广州三三互联网科技有限公司
绵阳真晨互联网科技有限公司
科技互联网专业工作会议发言稿
宁波允成互联网科技有限公司
互联网科技快速发展优美句子
颐高云石互联网科技
湖北九亚互联网络科技有限公司
河南云网互联网络科技有限公司
科技平台互联网
中国互联网科技股
互联网与科技发展
沃里互联网科技
亿人帮互联网科技
滨湖区互联网智能科技产品供应
辽宁互联网新科技
小米互联网科技园入驻