静态 static

来源:互联网 发布:沈阳网络电玩城 编辑:程序博客网 时间:2024/05/18 00:46

static:是一个修饰符,用于修饰成员(成员变量,成员函数),当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以被类名调用。

一. 静态的特点:

1. 随着类的加载而加载,随着类的消失而消失,生命周期最长。

2.被所有对象所共享。

 3.优先于对象存在,静态先存在,对象是后存在。

 4.可以直接被类名调用。

二.实例对象和类变量的区别:

  存放位置:

  1.类变量:随着类的加载存在于方法区(共享区,数据区)中。

 2.实例变量:随着对象的建立存在于堆内存中。

三.生命周期:

  1.类变量生命周期最长,随着类的消失而消失。

  2.实例变量生命周期随着对象的消失而消失。

 四.静态的使用注意事项:

 1.静态方法只能访问静态成员(方法和变量)。

  2.非静态方法既可以访问静态也可以访问非静态。

  3.静态方法中不可以定义this,super关键字,因为静态优先于对象存在。

 五.静态的利于弊:

  1.利:对对象共享的数据进行单独空间的存储,节省空间,没有必要每个对象都拥有一份。

  可以直接被类名调用,主函数是静态的。

  2.弊:生命周期过长,访问出现局限性。(静态虽好,只能访问静态)

/*
 * 静态:static
 * 用法:是一个修饰符,用于修饰成员(成员变量,成员函数)
 * 当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以被类名调用
 * 方法区(共享区,数据区)
 * 一.静态的特点:
 * 1.随着类的加载而加载,随着类的消失而消失,生命周期最长。
 * 2.被所有对象所共享。
 * 3.优先于对象存在,静态先存在,对象是后存在
 * 4.可以直接被类名调用。
 * 实例对象和类变量的区别:
 * 二.存放位置:
 * 1.类变量:随着类的加载存在于方法区中。
 * 2.实例变量:随着对象的建立存在于堆内存中。
 * 三.生命周期:
 * 1.类变量生命周期最长,随着类的消失而消失。
 * 2.实例变量生命周期随着对象的消失而消失。
 * 四.静态的使用注意事项:
 * 1.静态方法只能访问静态成员(方法和变量)。
 * 2.非静态方法既可以访问静态也可以访问非静态。
 * 3.静态方法中不可以定义this,super关键字,因为静态优先于对象存在。
 * 五.静态的利于弊:
 * 1.利:对对象共享的数据进行单独空间的存储,节省空间,没有必要每个对象都拥有一份。
 * 可以直接被类名调用,主函数是静态的。
 * 2.弊:生命周期过长,访问出现局限性。(静态虽好,只能访问静态)
 */

class Person{
String name;//成员变量,实例变量
static String  country="China";//静态成员变量,类变量
public  void show()
{
System.out.println(name+"--"+country);//非静态方法既可以访问静态也可以访问非静态。
}
public static void show1()
{
//System.out.println(name);静态方法调用了实例变量,报错了
System.out.println(country);//静态方法只能调用类变量
}
}
public class Staticdemo {
public static void main(String argsp[])
{
Person p1=new Person();
p1.show();
p1.show1();
System.out.println(Person.country);//类名直接调用类变量
}
}


0 0
原创粉丝点击