繁体   English   中英

如何使用非静态方法?

[英]How do I use nonstatic methods?

我已经搜索了一段时间,文档和Google都没有给出很好的答案。 我刚刚开始使用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);

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

但是,您将需要从某个地方获取Graphics实例,因为Graphics构造函数protected而不是public ,并且类本身是abstract (对于初学者而言,这意味着您需要已经将对象放在某个地方可以使用,因为您不能直接为自己创建该对象。)

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

drawString()方法不是静态的。 这意味着您需要Graphics(或Graphics2D)对象的实例。 通常,当您使用此对象时,它会作为paint()方法的参数传递给您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM