static静态成员

こ雲淡風輕ζ 提交于 2019-12-25 21:16:34

在这里插入图片描述## static静态成员
对于一个类中,有一些数据是共用同一份的,这时使用static关键字进行修饰,就可以起到节省内存的作用。static关键字一旦使用,那么这个成员就不属于new出的对象,而是属于原本所在的类中。
注意:
1.程序执行时,会先加载static修饰的变量和方法,所以静态不能调用非静态。而非静态可以调用静态
2.静态不能使用this,因为静态是类属性,而this是在创建对象时,对象会把地址值赋给this。
3.静态方法推荐直接用“类名称.静态方法名”的方式书写,如下例,method.methodStatic()实际上在编译时,会变为MyClass.methodStatic(),所以为了加以区分,静态方法用“类名称.静态方法名”的方式书写。

		//静态方法推荐直接用“类名称.静态方法名”的方式书写
        MyClass.methodStatic();


        MyClass method = new MyClass();
        method.method();
        method.methodStatic();//不推荐

static可以修饰:1.成员变量,2.成员方法
静态代码块存在唯一性,即被多次调用时,也只在第一次的时候执行。

public class Person {

    public Person(){
        System.out.println("构造方法执行啦");
    }
    static {
        System.out.println("静态代码块执行啦");

    }
}
//
public static void main(String[] args) {
        Person person = new Person();
        Person person2 = new Person();
		//结果为
		//"静态代码块执行啦"
		//"构造方法执行啦"
		//"构造方法执行啦"
    }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!