问题与练习:嵌套类
Questions
-
程序Problem.java无法编译。您需要做什么才能使其编译?为什么?
-
使用Box类的 Java API 文档(在
javax.swing
包中)可以帮助您回答以下问题。 -
Box
定义什么静态嵌套类?-
Box
定义什么内部类? -
Box
的内部类的超类是什么? -
您可以在任何类别中使用
Box
的嵌套类别中的哪一个? -
如何创建
Box
的Filler
类的实例?
-
Exercises
-
获取文件Class1.java。编译并运行
Class1
。输出是什么? -
以下练习涉及修改内部类示例部分讨论的DataStructure.java类。
-
定义一个名为
print(DataStructureIterator iterator)
的方法。使用类EvenIterator
的实例调用此方法,使其执行与方法printEven
相同的功能。-
调用方法
print(DataStructureIterator iterator)
,以便它打印具有奇数索引值的元素。使用匿名类作为方法的参数,而不是interfaceDataStructureIterator
的实例。 -
定义一个名为
print(java.util.Function<Integer, Boolean> iterator)
的方法,该方法执行与print(DataStructureIterator iterator)
相同的功能。使用 lambda 表达式调用此方法以打印具有偶数索引值的元素。再次使用 lambda 表达式调用此方法以打印具有奇数索引值的元素。 -
定义两个方法,以便以下两个语句打印具有偶数索引值的元素和具有奇数索引值的元素:
-
DataStructure ds = new DataStructure()
// ...
ds.print(DataStructure::isEvenIndex);
ds.print(DataStructure::isOddIndex);