我如何使用非静态方法?

Gro*_*itz 0 java static drawstring

我一直在搜索,文档也没有谷歌回复一个很好的答案.我刚开始使用java,所以请帮帮我.我收到了错误

Graphics.drawString('hello',10, 10);
Run Code Online (Sandbox Code Playgroud)

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

Cannot make a static reference to the non-static method drawString(str,int,int) from the type Graphics
Run Code Online (Sandbox Code Playgroud)

那么有谁知道如何解决这个问题?

ast*_*eri 7

您需要有一个Graphics要使用的实例,就像错误消息所说的那样.

Graphics graphics = new Graphics();
graphics.drawString("hello", 10, 10);
Run Code Online (Sandbox Code Playgroud)

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

您将需要获得Graphics从某处的实例,但是,作为图形构造protected不是public和类本身是abstract.(对于初学者来说,所有这些意味着你需要已经在某个地方使用该对象,因为你无法直接为自己创建它.)

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