Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 界面中的选项_Java - Fatal编程技术网

Java 界面中的选项

Java 界面中的选项,java,Java,如果我想在我的接口中选择一个方法,可以吗?怎么做 在Javadoc中指定实现类可以选择抛出UnsupportedOperationException。不,不能 接口是契约,必须实现。不,这是不可能的。不在接口中实现方法的最接近方法是立即抛出异常。你应该重新考虑你的字体设计。你不能 但是,您可以做的是创建第二个接口并将“可选”方法移动到该接口 这样,类可以选择实现一个或两个接口。据我所知,这是不可能的。您不能在接口中选择方法,尽管您可以执行以下操作之一: 使您的接口成为Absact类,并仅实现“可

如果我想在我的接口中选择一个方法,可以吗?怎么做

在Javadoc中指定实现类可以选择抛出UnsupportedOperationException。

不,不能


接口是契约,必须实现。

不,这是不可能的。不在接口中实现方法的最接近方法是立即抛出异常。你应该重新考虑你的字体设计。

你不能

但是,您可以做的是创建第二个接口并将“可选”方法移动到该接口


这样,类可以选择实现一个或两个接口。

据我所知,这是不可能的。

您不能在接口中选择方法,尽管您可以执行以下操作之一:

  • 使您的接口成为Absact类,并仅实现“可选”方法

  • 从类中实现接口并抛出NotImplementedException(或类似)

  • 使用包含可选方法的内部类创建接口

  • 你不能从任何地方这样做

    如果类声明实现接口,则该接口定义的所有方法必须出现在其源代码中,然后该类才能成功编译


    也许你应该像其他人说的那样使用一个。

    :你不能。但您可以扩展接口,因此您可以构建如下内容:

    public interface InterfaceA {
       void methodA();
    }
    
    public interface InterfaceB extends InterfaceA {
       void methodB();
    }
    
    通过这种方式,您可以使用InterfaceA来实现只有一个特定方法的类,而InterfaceB可以同时使用两种方法


    当然,这一切都取决于您的设计。

    您可以为同一个接口创建一个抽象类,同一个类可以调用相同的方法,但可以选择。

    您所说的可选是什么意思?是否应该有一个默认实现,以便不是每个人都需要自己实现它?或者它是一种不需要在该接口的每个实例上都工作的方法?迭代器接口如何允许remove成为可选的可能重复?类似的东西。它只是合同中的可选项,也就是说,它在JavaDoc中有这样的文档记录。从形式上讲,不是每个迭代器都必须有一个remove()方法,而是一些抛出
    UnsupportedOperationException
    ,或者,如果第二个接口的契约只是合理地存在于一起,那么实际上,让第二个接口扩展第一个接口。一个接口从其他接口或两个完全独立的接口扩展,应根据要求采取该方法。两个答案都很好。