一:static关键字的特点
1.先于对象存在,既可以用类名点的方式调用,也可以用对象点的方式调用。如:
class Person
{
static String country = “china”;
}
那么调用方式可以是
①Person.country
②Person p = new Person( )
p.country
2.static修饰的属性或方法随着类的存在而存在随着类的消失而消失,生命周期最长。
3.static修饰的方法只能用于静态方法。
4.static修饰的方法或关键字会在共享区(或称为方法区)开辟一块内存空间,而不是在堆内存或栈内存中开辟内存空间。
5.静态代码块格式:
static
{
代码
}
注意:静态代码块随着类的加载而执行,且只执行一次,用于给类进行初始化,并优先于主函数。
二:什么时候使用static关键字
�1.当对象中存在共享数据的时候。例如:Person类中都有姓名这个属性,张三和李四都有姓名这个属性,那么姓名就可以称为共享属性,但是他们的名称不一样不能称为共享数据。当他两国籍都是中国时,中国这个数据就称为共享数据,这个数据可用static修饰。
2.当功能内部没有访问到静态数据(共享数据)时,那么该功能可以定义成静态的。