gpt4 book ai didi

java - 实现接口(interface)时方法的限制

转载 作者:太空宇宙 更新时间:2023-11-04 15:24:40 26 4
gpt4 key购买 nike

我在接口(interface)中有两个方法:

public interface MyInterface {  
public void methodOne();
public void methodTwo();
}

public class MyClass implements MyInterface{
public void methodOne(){
//implementation code
}

public void methodTwo(){
//implementation code
}
}

我可以在实现接口(interface)时限制其中之一吗?

最佳答案

您必须实现接口(interface)的所有方法,除非实现接口(interface)的类是抽象

如果您所说的限制是指您想要预定义一个或多个方法,那么您可以使用抽象类而不是接口(interface)抽象类中的抽象方法是必须由任何扩展抽象类的类实现的方法。非抽象方法实际上是在抽象类本身中实现的。

例如,

public abstract class MyClass 
{
abstract void methodOne();

void methodTwo()
{
//implementation code
}
}

public class MyOtherClass extends MyClass
{
void methodOne()
{
//implementation code
}
}

这是 Abstract Classes and Methods 的引用.

编辑1(回应评论):
我不太清楚你所说的负担是什么意思。我想说的是,如果您希望所有方法都由类实现,那么请使用接口(interface)。

如果您只想通过类实现某些方法,那么您可以使用抽象类代替接口(interface)

如果有意义,请让一个抽象类(部分)实现该接口(interface),然后通过扩展该抽象类的任何内容来实现其余方法。

这两种做法都是合理的。这取决于您真正需要做什么。

编辑2(回应其他评论):
为一个用户类提供附加功能似乎是一个完美的应用程序,只需使用具有附加功能的“ super 用户”类来扩展“普通用户类”即可。如果您需要“ super 用户”类的接口(interface),则可以创建一个扩展“普通用户”类实现的接口(interface)的接口(interface)。

关于java - 实现接口(interface)时方法的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19970985/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com