[英]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.