如果没有对象,也可以通过类名.属性的方式访问该类内部的static属性(可以访问的前提是非private的):
静态属性是属于类本身的,如果不加static,无法访问通过这种方式访问i。与属性类似,类内部定义静态方法也可以通过类名.方法访问。当然,A生成的对象也可以访问这些静态属性和静态方法。
类中静态方法与方法之间的访问:
静态方法访问属性也是如此。此外,类中的静态方法中调用属性不能有this,因为this指当前对象,而在类中,没有对象一说。
Static只能用来修饰普通方法,不能用来修饰构造方法。因为构造方法,本身就比较特殊,甚至称不上是方法。
Static用法举例1:
Static用法举例2:
GetA方法一定是静态的,要不然外部没法通过类名访问,也没法生成对象,也不能通过对象名访问。改变aa1.i的值,aa2.i的值也改变,说明aa1和aa2是同一个对象,也即A只能生成一个对象,这个对象就是在A类中生成的aa对象。