java接口中可以定义重载函数吗
答案:5 悬赏:80 手机版
解决时间 2021-04-06 03:47
- 提问者网友:箛茗
- 2021-04-06 00:27
java接口中可以定义重载函数吗
最佳答案
- 五星知识达人网友:拾荒鲤
- 2021-04-06 01:21
可以重载函数。多个方法拥有相同的名字,但在名字相同的同时,必须有不同的参数,这就是重载。
例如:
public interface A{//定义接口
public void show();//定义show方法
public void show(int a);//多了一个参数,重载show方法
}
例如:
public interface A{//定义接口
public void show();//定义show方法
public void show(int a);//多了一个参数,重载show方法
}
全部回答
- 1楼网友:英雄的欲望
- 2021-04-06 04:47
能否细讲“C++中基类定义重载了的虚函数”是什么意思?贴一下示例代码?追问比如:class A{ public: virtual void fun( int x ); virtual void fun(char ch); }
class B:public A{ public: void fun(int x); }//这样是可以的,而不必也重写void fun(char ch);追答JAVA肯定不行,因为这两根本不是一个函数。
另,你这里C++里的代码似乎有问题,你这里的fun到底是虚函数还是纯虚函数(形式为virtual void fun( int x )=0;对应JAVA里的抽象函数)?
如果是虚函数的话,就是class A 里两个fun都有定义。子类当然可以只重写其中一个,事实上JAVA除了final函数,全部都是virtual的(意思就是可以被覆盖)。
而如果是纯虚函数(抽象函数)的话,无论是C++还是Java必须都实现所有的方法,除非这个子类打算变成抽象类(那就不可实例化),在JAVA里必须把类声明为abstract类。追问不好意思,这里的代码都有实现的,是虚函数,不是纯虚函数。你说的关于C++的我了解,只是不了解Java这些知识,受教了!!谢谢。试过了,Java中确实不可以。
class B:public A{ public: void fun(int x); }//这样是可以的,而不必也重写void fun(char ch);追答JAVA肯定不行,因为这两根本不是一个函数。
另,你这里C++里的代码似乎有问题,你这里的fun到底是虚函数还是纯虚函数(形式为virtual void fun( int x )=0;对应JAVA里的抽象函数)?
如果是虚函数的话,就是class A 里两个fun都有定义。子类当然可以只重写其中一个,事实上JAVA除了final函数,全部都是virtual的(意思就是可以被覆盖)。
而如果是纯虚函数(抽象函数)的话,无论是C++还是Java必须都实现所有的方法,除非这个子类打算变成抽象类(那就不可实例化),在JAVA里必须把类声明为abstract类。追问不好意思,这里的代码都有实现的,是虚函数,不是纯虚函数。你说的关于C++的我了解,只是不了解Java这些知识,受教了!!谢谢。试过了,Java中确实不可以。
- 2楼网友:末日狂欢
- 2021-04-06 03:47
重载是司马意思,你清楚吗,方法名相同,参数个数,类型 不同的叫方法重载
接口里面能定义方法吗? 可以把 ,方法重载也是定义的方法,你说可以不?
实现这个接口,就会实现接口里面的方法
接口里面能定义方法吗? 可以把 ,方法重载也是定义的方法,你说可以不?
实现这个接口,就会实现接口里面的方法
- 3楼网友:蓝房子
- 2021-04-06 03:24
可以定义重载函数。
但是,java和c++不同,java类对接口实现不区分其来自哪个接口定义。
但是,java和c++不同,java类对接口实现不区分其来自哪个接口定义。
- 4楼网友:往事埋风中
- 2021-04-06 01:58
如果找不到资料就动手试试。非接口子类继承了接口,就必须实现接口所有方法。重载只是对于方法。但是java编程推荐面向接口编程,所以,你重载了接口方法,也是没有任何意义的追问你好,首先谢谢回答。
现在我的疑问是在java中,如果接口中有重载形式的函数,实现该接口的类是否也可以这样,只实现其中一种形式。比如
interface aa{ void fun(int x); void fun(char ch); }
class AA implement aa{ void fun(int x) {....} }追答当然必须实现虽有的接口方法啊
现在我的疑问是在java中,如果接口中有重载形式的函数,实现该接口的类是否也可以这样,只实现其中一种形式。比如
interface aa{ void fun(int x); void fun(char ch); }
class AA implement aa{ void fun(int x) {....} }追答当然必须实现虽有的接口方法啊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯