文档

Java™ 教程-Java Tutorials 中文版
Trail: Learning the Java Language
Lesson: Interfaces and Inheritance
主页>学习 Java 语言>接口和继承

问题和练习的答案:接口

问题

问题1:实现 java.lang.CharSequence 接口的类必须实现哪些方法?
答案1:charAtlengthsubSequencetoString

问题2:以下接口有什么问题?

public interface SomethingIsWrong {
    void aMethod(int aValue) {
        System.out.println("Hi Mom");
    }
}

答案2:它有一个方法实现。只有默认和静态方法才能有实现。

问题3:修复问题 2 中的接口。
答案3:

public interface SomethingIsWrong {
    void aMethod(int aValue);
}

或者,你可以将 aMethod 定义为默认方法:

public interface SomethingIsWrong {
    default void aMethod(int aValue) {
        System.out.println("Hi Mom");
    }
}

问题4:以下接口是否有效?

public interface Marker {
}

答案4:对。方法不是必需的。空接口可以用作类型和标记类,而无需任何特定的方法实现。有关有用的空接口的示例,请参阅 java.io.Serializable.

练习

练习1:编写一个实现 java.lang 包中的 CharSequence 接口的类。你的实现应该向后返回字符串。选择本书中的一个句子作为数据。写一个小的 main 方法来测试你的类;确保调用所有四种方法。
答案1:参见 CharSequenceDemo.java

练习2:假设你已经编写了一个时间服务器,它会定期通知客户当前的日期和时间。编写一个服务器可用于在其客户端上强制执行特定协议的接口。
答案2:请参阅 TimeClient.java


Previous page: Questions and Exercises: Interfaces