在所有定义的方法属性上都可以使用static关键字
1.static属性 共享属性
当程序中使用了static关键字定以后,那么此属性将不保存在堆内存之中,会保存在一个全局数据区的内存空间之中,并且所有对象都可以进行该数据区的访问。
共享属性能通过一个对象的修改吗?
不能,对于static的属性将其称为类属性,可以通过类型直接调用。
结论:访问static属性使用类名称
所有非static属性必须在产生实例化对象之后使用,而所有static属性不受对象实例化操作影响。对象与static操作无关。
选择: 关于static属性和非static属性之间的选择
在定义类99%的情况下是不会考虑static属性的;
如果需要描述共享属性的概念,并且不希望受到实例化对象控制时用到static属性。
2.static方法
static定义的方法也可以直接通过类型进行访问。
类中存在static方法和非static方法,两者调用存在限制:
所有static方法不允许调用非static的属性和方法。
所有非static方法允许访问static属性和方法。
原因:因为所有static的操作可以在不实例化对象操作,但是非static操作只有在实例化对象后才能使用。
使用static方法的目的:某些方法不希望收到类的限制,即在没有实例化对象时也可以使用。
3.分析主方法(主方法的组成):
如果一个方法定义在主类中并且由主方法直接调用,那么该方法的定义如下:
public static 返回值类型 方法名称(参数列表){}
主方法: public 表示公共的,主方法作为七点必须随意访问
static:执行java程序时是一个类名称,索伊表示不受实例化对象限制
void: 主方法是一切的起点;既然开始了就走吧
main: main是一个java默认名称
String args[]:表示该类执行时需要的相关参数