请问这个java程序为什么要加static

大一刚学java,请问这个方法为什么要加static,不加就报错,谢谢。

img

main方法是一个静态方法,main里调用了isPrimeNumber()方法,静态方法只能调用静态方法,所以isPrimeNumber必须标记为静态方法
再往深处,为什么静态方法只能调用静态方法,我的理解是因为加载时机,静态方法是属于类的,在类加载的时候就会加载,而非静态方法是属于对象的,必须在实例化对象的时候才会加载,这样的话静态方法里如果调用了非静态方法,非静态方法还没加载,那肯定就报错了

所以如果你要main方法里调用非静态方法,就需要先实例化一个对象,使用对象.方法 调用

静态方法只能调用静态方法,静态方法不可以调用非静态方法,非静态方法可以调用静态方法,这两个概念要清楚

也可以不加,楼上说的已经很清楚了,不过你可能才学习不太了解这个概念
如果不加的话 if语句要改成 if(new Text3().isPrimeNumber())