Java-Static静态使用

x33g5p2x  于2021-10-06 转载在 Java  
字(1.0k)|赞(0)|评价(0)|浏览(220)

Java-static静态使用

静态成员变量在第一次被调用的时候就会被创建保存在内存中,而且整个程序中只会被创建一次

静态成员变量

一但一个类中定义了静态成员变量 那么该变量就不属于这个类了而是属于这个类的所有对象

public class A {
    public static String name;
}	      
public class test {
    public static void main(String[] args) {
        A.name="abc";
        System.out.println(A.name);  //abc 
        A a=new A();
        a.name="aaaa";
        System.out.println(a.name); //aaaa
        A.name="qwe";
        A a1=new A();
        System.out.println(a1.name); //qwe
    }
}

可以看出来 是不是 都是在修改同一个内存地址中的值和对象无关 ,也就证明了此静态属性 ,属于所有该类对象的,这里提示下使用静态一般都是 类名. 而不要new 对象

静态方法

静态方法规则:

静态方法是属于类的,只存在一份,会被该类的所有对象共享。不可以被重写。
1.
你想一下 我们调用静态 是 怎么调用的就明白了 (类名 点) 那么既然这么调用了
1.
那么子类怎么 将重写的方法 给父类呢?
1.
静态方法能被重载 调用方法 一样: 类名点
1.
静态能被继承

演示调用静态方法:

public class A {
    public static void show(){
        System.out.println("a");
    }
}
public class test {
    public static void main(String[] args) {
        A.show();
    }
}

静态代码块

静态代码块 在第一个对象new 的时候执行一次之后 就不会执行了

静态代码块中 只能存在静态 也就是只能给静态属性赋值

public class A {
    public static  String name;
    static {
        name="hu";
        System.out.println("我是静态代码块");
    }
    public A(){
        System.out.println("我是构造");
    }

    public static void main(String[] args) {
        A a=new A();
        
    }
}

结果:

我是静态代码块
我是构造

相关文章

微信公众号

最新文章

更多