java学习基础——关键字static

时间:2021-07-17 13:37:41

package cn.study;

class Person{

String name;

static String country = "CN";

public static void show(){

}

}

/*

* 用static修饰的数据:实现数据共享

* 直接用类名调用

* 特点:

* 1、static是一个修饰符,用于修饰成员

* 2、static修饰的成员被所有的对象所共享

* 3、static优于对象的存在,因为static的成员随着类的加载就已经存在了

* 4、static修饰的成员多了一种调用方式,可以直接被类名所调用。类名.静态成员

* 5、static修饰的是数据共享,对象中的存储是特有的数据

*

* 成员变量和静态变量的区别:

* 1、两个变量的生命周期不一样

* 成员变量随着对象的创建而存在,随着对象的回收而释放

* 静态变量随着类的加载而存在,随着类的消失而消失

*

* 2、调用方式不同

* 成员变量只能被对象所调用

* 静态变量可以被对象调用,也可以被类名所调用

*

* 3、别名不同

* 成员变量称为实例变量

* 静态变量称为类变量

*

* 4、存储位置不同

* 成员变量数据存储在堆内存中的对象中,所以也叫对象的特有数据。

* 静态变量数据存储在方法区(共享数据区)的静态区,所以也叫数据的共享数据。


* 静态使用的注意事项:

* 1、静态方法只能访问静态成员(非静态既可以访问静态,又可以访问非静态)

* 2、静态方法不能使用this或super等关键字。

* 3、主函数是静态的

*/

public class TestStatic {

public static void main(String[] args) {

// TODO 自动生成的方法存根

Person.show();

}

}

java学习基础——关键字static