我刚刚将项目升级到JDK 1.6,并且在编译时,我有一个实现java.awt.Toolkit的测试类,并实现了不执行任何特殊操作的方法(除了捕获对beep命令的调用)。
(这是一个旧的测试,可能应该以多种方式重写(模拟它或在简单的界面中包装该功能。但是,无论测试的不良),编译器现在吐出一堆警告,如这样:
[19:50:10]:[javac] MemoryManagerTest.java:14:警告:java.awt.dnd.peer.DragSourceContextPeer是Sun专有API,可能会在将来的版本中删除 [19:50:10]:[javac] import java.awt.dnd.peer.DragSourceContextPeer
首先有趣的是,带有一个名为java.awt.dnd.peer的包的东西将是一个sun专有API(虽然显然是实现),但这个消息是假的,还是真的如此?如果确实如此,那么与整个Toolkit类有什么关系呢?
答案 0 :(得分:1)
您可以检查API文档,发现java.awt.dnd.peer中没有列出任何类,因此特定于Sun VM的实现。即使Toolkit类本身是公共API的一部分,该类的实现当然也是特定于VM的,并且可能使用其他专有的Sun内部类。