我是java的新手,自从我开始学习它以来,我一直想知道:java API的类和包做了许多有用的事情,从创建窗口到写入文件。但是在开始时,API类只使用语言来做任何事情。
我知道使用该语言,您可以将数据存储在变量中,执行逻辑,创建方法,对象和类等等。但是要做所有“好东西”,你可以使用API类。但他们怎么能用语言做这么酷的事呢?内置于java的代码是否指定了如何创建窗口或写入文件?如何使用代码将信息输出到外部事物,如电机?
看起来内置的代码无法处理API本身可以完成的事情,但API是用java编写的,因此使用原始语言来完成它所做的事情。
我想我已经阐明了我的观点,但这一切都有用吗?
答案 0 :(得分:3)
答案 1 :(得分:1)
Java运行时库本身支持许多“很酷的东西”,但是对于对窗口,文件系统和其他操作系统本机资源的高效访问,Java提供了一种称为Java本机接口(JNI)的机制,它从JVM桥接到低端。级别,平台特定的库。
从Java的角度来看,过桥的位置将是native
关键字,用于装饰方法声明。
答案 2 :(得分:1)
API类旨在为您提供一个干净的API来编程。想想List
。
然后有一些类履行他们的合同,例如ArrayList
和LinkedList
,这两个类都是列表,但具有不同的特征。
需要操作系统帮助的东西,比如写入文件或在屏幕上绘图,都是为了符合操作系统提供的API而编写的。这通常是由本机代码调用的平台依赖(通常用C编写)。 Swing - 默认的Java GUI - 完全用Java编写,在操作系统提供的矩形内工作。
将现代IDE与JDK一起使用时,您始终可以导航到运行时库中的类,并查看它们实际上是如何执行它。它通常比你想象的要简单得多。