static 是静态方法,他的引用不需要对象,可以使用类名直接进行引用,当然也不需要this。
由于不需要对象,所以static方法内无法调用非static的方法或对象
至于为什么main方法必须是static的,因为程序在执行main方法的时候没有创建任何对象,因此只有通过类名来访问。
静态成员变量虽然独立于对象,但是不代表不可以通过对象去访问,所有的静态方法和静态变量都可以通过对象访问(只要访问权限足够)。因此可以使用this 来调用static数据。
在java中 static是不允许修饰局部变量的,这是java的语法规定
在Java中能够影响到访问权限的只有private、public、protected(包括包访问权限)这几个关键字(在C,C++中可以)