gpt4 book ai didi

java - 为什么java.awt.Graphics类在java中是抽象的?

转载 作者:行者123 更新时间:2023-12-01 07:23:56 25 4
gpt4 key购买 nike

类 java.awt.Graphics 是抽象的。有什么正当理由让它变得抽象?

最佳答案

因为拥有一个无上下文的具体 Graphics 类没有意义。

Graphics 类是抽象的,因此使用 Graphics 类的组件可以提供特定于组件甚至特定于平台的自定义具体实现。

如果您能够通过调用创建新的 Graphics 对象:

Graphics g = new Graphics();

绘制/填充方法绘制到哪里?它们是如何实现的?它们有什么用途?

每个使用 Graphics 类的类(示例包括: BufferedImageBufferStrategyImage )都提供在各自上下文中有意义的自定义实现。

例如,BufferedImage,顾名思义,可以利用主内存中维护的光栅,而 VolatileImage 可以直接绘制到 VRAM(特定于实现)中。

使用(相对)隐藏的自定义实现的抽象类方法的原因构成了 API 概念的基础,它允许程序员编写可跨平台/版本移植的代码,而无需担心具体细节底层实现。

关于java - 为什么java.awt.Graphics类在java中是抽象的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29314760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com