static关键字:为静态关键字
在属性上添加static关键字之后,会将该属性从对象层面提升到类层面,这样的属性我们称之为“静态属性”
静态属性特点:
1:数据共享
2:不需要实例化也可以进行调用,直接使用类名,属性的方式进行调用,一次设置,所有的对象都共享
在成员方法上添加static关键字之后,会将该方法从对象层面上提升到类层面上,这样的方法我们称之为“静态方法”
静态方法特点:
1:不需要创建对象,可以直接使用类名去调用,同样也可以使用对象去调用静态方法,因为先编译类,再编译对象。
2:静态属性和静态方法,编译顺序在对象之前,所以,不管是否实例化对象,都可以进行静态方法或属性的调用
3:如果静态方法或属性,使用对象名,方法,或属性,在编译的过程中,都会被编译为类名,方法,或属性
注意事项:
1:静态方法不能直接访问非静态内容
2:非静态的方法可以访问静态的内容
原因:在内存当中,会先编译静态内容,再编译非静态内容
原文:https://www.cnblogs.com/clearlove007/p/13961195.html