A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

static特点:
1,随着类的加载而加载。
也就是说:静态会随着类的消失而消失。说明它的生命周期最长。

2,优先于对象存在。
明确一点:静态是先存在。对象是后存在。

3,被所有对象所共享

4,可以直接被类名所调用。

实力变量和类变量的区别:
1、存放的位置:
类变量随着类的加载而存在于方法区中。
实例变量随着对象的建立而存在于堆内存中。
2、生命周期:
类变量生命周期最长,随着类的消失而消失。
实例变量生命周期随着对象的消失而消失。

*/


class Person
{
String name;//成员变量,实例变量(创建对象后其才存在)
static String country = "CN";//静态的成员变量,类变量,存于共享区,当Person类加载到内存中时,静态的country随其加载,并一直存在,直到Person类消失才一起消失。
public void show()
{
  System.out.println(name+"...."+country);
}
}

class StaticDemo
{
public static void main(String[] args)
{
  Person p = new Person();
  p.name = "zhangsan";
  p.show();
  //System.out.println(Person.country);//可以被类名直接调用
}
}

class Person
{
String name;
public static void show()
{
  System.out.println("haha");//未访问name,可以静态。
}
}

class
{
public static void main(String[] args)
{
  //Person p = new Person();
  //p.show();
  Person.show();//可以直接类名调用
}
}

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 很给力!

查看全部评分

2 个回复

倒序浏览
顶起来。
回复 使用道具 举报
1行白鹭 发表于 2012-10-23 10:40
顶起来。

静态方法只能访问静态成员,非静态既可以访问静态也可以访问非静态
静态方法中不可以定义this supper关键字,因为静态先于对象存在
静态代码块:在类加载的时候执行且只执行一次的只有方法体代码块
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马