黑马程序员技术交流社区

标题: 总结static关键字及其使用方法,欢迎补充 [打印本页]

作者: 于连林    时间: 2012-10-23 10:39
标题: 总结static关键字及其使用方法,欢迎补充
静态: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();//可以直接类名调用
}
}

作者: 刘学宾    时间: 2012-10-23 10:40
顶起来。
作者: 梁枝武    时间: 2012-10-23 13:33
1行白鹭 发表于 2012-10-23 10:40
顶起来。

静态方法只能访问静态成员,非静态既可以访问静态也可以访问非静态
静态方法中不可以定义this supper关键字,因为静态先于对象存在
静态代码块:在类加载的时候执行且只执行一次的只有方法体代码块




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2