Java新手,试图弄清楚如何解决这个问题。
boolean myBool = G(A,n,m,0);
出于某种原因,它不喜欢这条线。为什么不让我称之为这个简单的功能? main()和G()都是C()的一部分。
答案 0 :(得分:0)
非静态方法属于类的特定实例,而静态方法属于类本身。在main
内部,这是一个静态方法,如果没有特定的对象来运行它们,则无法引用非静态方法。 E.g:
boolean myBool = new C().G(A,n,m,0);
但是,如果类没有有趣的状态,或者它的状态不影响方法G
,则应将G
定义为static
。
答案 1 :(得分:0)
可能是因为您未在static
方法的定义中包含G()
。
Main()
是一个静态方法,由于static
事情在非静态事物之前运行,静态事物只能调用/使用static
事物。
请注意,您的Main()
不需要您制作C
个对象。它是程序的入口点,如果你必须先创建一个对象来运行你的程序就没有意义 - 你从哪里制作那个对象?
如果要进行非静态调用,请创建相应类的对象。