0

这是我遇到问题的代码:

界面:

public interface anInterface {

    void printSomething();

}

实现接口的类:

public class aClass implements anInterface {

    public aClass() {

    }

    public void printSomethingElse() {
         System.out.println("Something else");
    }

    @Override
    public void printSomething() {
        System.out.println("Something");
    }
}

主要功能:

public static void main(String[] args) {
     anInterface object = new aClass();
     object.printSomething();   // works fine
     object.printSomethingElse();     // error
}

错误:找不到符号。符号:方法 printSomethingElse();

谁能告诉我为什么这行不通?

在 Java 中,当您有一个实现某个接口的类时,是否可以向该类添加方法,即使这些方法尚未在接口中声明?还是我必须声明我将在界面中使用的所有方法?

我也在 C# 中尝试过,但也不起作用。

我究竟做错了什么?

谢谢!!!

4

1 回答 1

3

您必须在接口中声明在这种情况下要使用的所有方法。该界面对 printSomethingElse 一无所知,这就是您收到上述错误的原因。

接口的目的是让您可以在多个类似的实现类中拥有一个通用的函数列表。例如,List一个接口包含一个由不同类以各种方式实现的函数的“列表”,例如,LinkedList它使用双向链接列表来提供功能,List以及ArrayList使用动态扩展数组来实现。

于 2012-04-09T02:22:32.560 回答