Static 关键字
static属性定义pub,pub存放在全局数据区。
Static属性与非 Static属性最大区别是,所有的非 Static属性必须要实例化之后才能使用,而Static属性则不需要实例化。
Static属性使用范围:如果需要描述共享的概念(方便属性的集体修改,不重复开辟内存空间),
2.1
Static定义方法的时候,可以在没有实例化对象的时候利用类名称直接调用。
Static定义的属性和方法均不受实例化对象的控制。
如果类中的方法中存在static和非static方法,则有
- static方法不能够直接访问非static方法和属性,只能够调用static方法和属性,
- 非static可以访问static的属性和方法,不受到限制。
思考:为什么会存在以上的限制?
所有的非static定义的结构,必须在类已经明确的产生了实例化对象的时候才会分配内存空间。
Static定义的结构,不受实例化对象的控制。
(Static定义方法的时候,可以在没有实例化对象的时候利用类名称直接调用。)
2.2
方法定义在主类中:
public static 返回值类型 方法名称(参数类型 参数.....){
[return [返回值]]
}
方法定义在类中:
public 返回值类型 方法名称(参数类型 参数.....){
[return [返回值]]
}
一个类中没有任何的属性,只有方法,此时可将所有的方法定义为static方法,这样就不用在每次调用的时候都实例化对象了。
例:
Public:主方法程序的开始,公共性
Static:证明此方法是由类名称调用的
Void:主方法数程序的开始,不能有返回值
Main:系统规定好的方法名称,不可以修改。
String args[]:主方法运行是所传递的参数。