这些Java教程是为JDK 8编写的。本页面描述的示例和实践不利用后续版本引入的改进,并且可能使用不再可用的技术。
请参阅Java语言更改了解Java SE 9及后续版本中更新的语言功能的摘要。
请参阅JDK发布说明以获取有关所有JDK版本的新功能、增强功能以及已删除或弃用选项的信息。
程序Problem.java
无法编译。你需要做什么才能使它能够编译?为什么?
使用Java API文档中的Box
类(位于javax.swing
包中)来帮助你回答以下问题。
Box
定义了哪个静态嵌套类?
Box
定义了哪个内部类?
Box
的内部类的父类是什么?
在任何类中都可以使用Box
的哪些嵌套类?
如何创建Box
的Filler
类的实例?
获取文件Class1.java
。编译并运行Class1
。输出是什么?
以下练习涉及修改类DataStructure.java
,该类在内部类示例中有讨论。
定义一个名为print(DataStructureIterator iterator)
的方法。使用EvenIterator
类的实例调用此方法,使其执行与printEven
方法相同的功能。
调用方法print(DataStructureIterator iterator)
,使其打印具有奇数索引值的元素。使用匿名类作为该方法的参数,而不是接口DataStructureIterator
的实例。
定义一个名为print(java.util.function.Function<Integer, Boolean> iterator)
的方法,该方法执行与print(DataStructureIterator iterator)
相同的功能。使用lambda表达式调用此方法,以打印具有偶数索引值的元素。再次使用lambda表达式调用此方法,以打印具有奇数索引值的元素。
定义两个方法,使得以下两个语句打印具有偶数索引值的元素和具有奇数索引值的元素:
DataStructure ds = new DataStructure() // ... ds.print(DataStructure::isEvenIndex); ds.print(DataStructure::isOddIndex);