static关键字放到变量和方法前面的时候,代表stactic字段对于类来说只有一份存储空间。
而非stacic字段是每个对象有一个存储空间。
如果static放在一个对象引用前。代表什么意思?
EG:
class B{
}
public class A{
static B b=new B();
public static void main(string[] args){
       b.xxx();
}
}

解决方案 »

  1.   


    和static int q 一样理解。只不过是类的一个成员。
      

  2.   

    如果这么写 是不是在b对象引用里的变量与方法也变成static了?
      

  3.   

    我有一个这样的了解 如果说 我把对象引用b  变成static.. 当下面用到这个B类的一个字段, 而在B这个类中 他的字段不是static.使用这个对象使用他 不是有冲突吗?
      

  4.   

    看JAVA编程思想有一样一个例子public class a{
    static Random rand=new Random();
    public static void main(String[] args)
    {
    int[]a;
    a=new int[rand.nextint(20)]
    这里的Random类是生成随即数的类,写到这个类a的时候,当MAIN方法要用到这个类的方法时候. 我要把他的对象引用也变成static,但他变的是对象引用,并没有变这个类的方法吧??如果这个RANDOM类方法不是STATIC,那不是矛盾吗?
      

  5.   

    main方法是static的,它无法直接引用非静态的变量和方法,如果B是A的static属性,则A的main()方法可直接用,不用new一个A的对象!
      

  6.   

    意味着你可以用"类名.成员名"的方式直接引用方法或公有成员```而不必去new一个对象```这在Math类常见吧`
    A里的static B对象是不会影响原来B对象的成员属性的