java - 如何使用非静态方法?

标签 java static drawstring

我已经搜索了一段时间,文档和谷歌都没有返回一个好的答案。我刚刚开始使用java,所以请帮助我。我收到错误

Graphics.drawString('hello',10, 10);

但是所有文档都告诉我我需要使用 str,int, int。 我的错误是:

Cannot make a static reference to the non-static method drawString(str,int,int) from the type Graphics

有人知道如何解决这个问题吗?

最佳答案

您需要有一个 Graphics 实例才能使用,正如错误消息所述。

即,

Graphics graphics = new Graphics();
graphics.drawString("hello", 10, 10);

基本上,静态方法是从类中调用的,而非静态方法必须使用该类的实际对象来调用。

不过,您需要从某个地方获取 Graphics 实例,如 Graphics constructorprotected而不是public,并且类本身是abstract。 (对于初学者来说,这意味着您需要在某个地方已经拥有可以使用的对象,因为您无法直接为自己创建它。)

另外,附注:单引号用于 char 文字,而双引号用于 String 文字。

关于java - 如何使用非静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15255926/

相关文章:

java - 服务器验证失败后如何在jsp页面上重新填充表单字段

具有调用私有(private)方法的静态方法的 Ruby 类?

C++ 静态模板成员,每种模板类型一个实例?

java - 创建了 Java 对象数组的元素,但没有正确的名称

java - 在 Windows 任务栏上显示 JDialog

python - Django 管理静态文件 404

c# - 为可以调整大小和居中定位的字符串创建矩形

.net - 在矩形内填充文本

python-2.7 - 如何将 python Reportlab 表定位在位置 10,100 并使用 drawString

java - 哪种方法将数据插入数据库是正确的