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
拥慌洛 2017-02-26 11:19