首先这是一个对象数组的代码...........
第一张图中我为3个方法加上了静态修饰符static,程序可以正常运行
但是我在第二张图中将3个方法中的静态修饰去掉,在第三张图中的mian方法里
却出现了错误,它提示我说要加上静态修饰才可以。
嗯........所以这是为什么.......还请各位赐教,感谢~
再简单点说 static不需要new一个对象,直接类名+方法名,而没有就要new一个对象(实例),然后再对象名加方法名才可以调用。
static是被类的实例对象所共享,而所有的静态方法和静态变量都可以通过对象访问【只要访问权限足够允许就行】
简单点说 非静态方法可以调用静态方法及静态变量,静态方法不能调用非静态方法及变量。
被static修饰的可以直接通过Class.的方法调用,而非静态方法必须有对象才能调用
静态方法中是没有this指向的,所以你在静态方法里是没有办法直接调用非静态方法的,如果需要在静态方法中调用class的非静态方法,你需要创建一个对象实例的方式调用,如实例.非静态方法,而在非静态方法中调用时调用非静态方法时默认会有一个this指向,this.非静态方法,只是写法上只有一个本class的方名
我去、你有本事把 public static void main(String[] args) 的static 给删掉试试