您现在的位置是:首页 > 文章详情

java-static静态修饰符

日期:2018-12-16点击:392

静态修饰符

静态方法 可以与 普通方法 或者 静态方法 重载

静态属性 和 静态方法 可以被继承,但是 静态方法 不能被重写

static 不可以修饰局部变量,所以静态方法和非静态方法中的变量都不能定义为静态变量

static可以修饰:属性,方法,代码段,内部类(静态内部类)

静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化,初始化后可以被改变

静态代码块,在虚拟机加载类的时候就会加载执行,而且只执行一次,只能调用静态变量和静态方法;

静态方法中直接不能访问类的非静态成员变量和非静态成员方法,只能直接访问静态成员变量、静态成员方法, 因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用;

非静态成员方法中是可以访问类的静态成员方法/变量

非静态代码块,在创建对象的时候(即new一个对象的时候)执行,每次创建对象都会执行一次;

static修饰的属性、方法、代码段跟该类的具体对象无关,不创建对象也能通过类名调用static修饰的属性、方法等。

static 和 this 、super 势不两立,static 跟具体对象无关,而 this 、 super 正好跟具体对象有关

在JVM加载一个类的时候,若该类存在static修饰的成员变量和成员方法,则会为这些成员变量和成员方法在固定的位置开辟一个固定大小的内存区域(只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们)

普通方法中可以通过this调用静态方法

静态方法中不能定义静态变量,因为static不能修饰局部变量

原文链接:https://yq.aliyun.com/articles/680062
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章