每次我实例化一个对象/从其中的一个类中调用一个方法时,我必须看看java api吗?另外,我是否总是必须知道java api中哪些类是哪些,哪些不是?你怎么知道可能有例外?
回答
如果异常被检查,那么Java编译器将迫使你调用方法要么捕获该异常或声明它可能抛出的异常。
如果抛出的异常从Error或RuntimeException继承 - 即,没有检查,那么除了javadoc和查看代码之外,你无法知道。
后者的一个很好的例子是NumberFormatException,由Double.parseDouble(String)抛出。要知道的唯一方法是javadoc告诉你它可以抛出这个异常。
现代IDE(Eclipse,Netbeans,IntelliJ等)可以方便地访问此文档。
我使用Eclipse IDE,它将确保您处理所有抛出的异常。我强烈推荐它。
知道函数抛出什么异常与知道它需要什么参数以及返回什么类型并无不同。
你要么知道它,查看它,要么使用一个IDE来为你做这件事。顺便说一句,检查异常,你会得到一个编译时错误,所以这也可以是一个选项。
对于你的第二个问题,一般 ...
以 “的Java。” 启动软件包或 “的javax。” 都在J2SE API。大多数以互联网域名前缀(如“com”)开头的软件包。或“组织”。由第三方提供。不要指望com.sun虽然稳定。
上面没有前缀的软件包可能不会遵循包naming guidelines或早于它们。
你在考虑使用com.sun软件包 - 这些*不能保证稳定。 javax包与java一样稳定 - 它的区别在于让你知道它是一个与Java 2一起出现的“更新”的库(即Java 1.2而不是Java 1或1.1) - 然而这是他们唯一的一次,已经做到了 - 在Java 1.5中添加了很多东西,但它们没有添加javaxx命名空间。 – Nate 2009-09-16 01:37:41
你是对的。编辑。 – 2009-09-16 18:46:17
- 1. 你怎么知道单例模式下的哪个实例
- 2. JavaScript - 想知道这怎么可能
- 3. 你怎么知道RStudio正在运行?
- 4. DSA vs RSA:你怎么知道
- 5. DIV属于元素,你怎么知道?
- 6. 你怎么能知道哪些元素用crossrider文本菜单
- 7. Android:你怎么知道View已经变得可见?
- 8. 你怎么知道两个物体何时可以通信?
- 9. 你怎么知道一个NSObject是否有某个属性?
- 10. 你怎么知道你的MongoDB中新增了数据
- 11. 你怎么知道你的解决方案从哪里打开?
- 12. 你怎么知道你的YAML文件在哪里破碎?
- 13. 你怎么知道你的WPF控件是否被渲染?
- 14. 你怎么知道你的mysql命令何时执行?
- 15. 你怎么知道你必须使用function(){}?
- 16. 你怎么能知道有多少标签是在用户的浏览器
- 17. 怎么可能知道是什么引起的异常
- 18. 我怎么能知道的信号
- 19. 我怎么能知道的AppDelegate
- 20. 我怎么能知道一个PrintWriter
- 21. 我怎么能知道在Linux上
- 22. 你怎么能histfit
- 23. 空点例外...不知道为什么
- 24. 你怎么知道你得到一个真正的街道地址?
- 25. 你怎么知道什么时候在Python中关闭文件?
- 26. 你怎么知道主要的启动活动是什么?
- 27. 你怎么知道什么方法用于任务?
- 28. 我不知道它有什么问题,你可以分析,如果可能
- 29. 怎么知道如果行有其他表的外键
- 30. 怎么知道没有扩展
大多数IDE都是这样做的,而不仅仅是Eclipse。 – 2009-09-15 18:29:12
正确,好点,我表示Eclipse是我个人的建议。 – mcassano 2009-09-15 18:31:06