zaiwo2014

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 

static:静态的

1.可以修饰 属性、方法、代码块、内部类

2.使用static修饰属性:静态变量(类变量)

  2.1 属性:是否使用static修饰,又分为:静态属性 和 非静态属性 (实例变量)

  实例变量:我们创建了类的多个对象,每个对象都独立拥有一套类中的非静态属性,当修改其中一个对象的非静态属性时,不会导致其他对象的非静态变量的修改

  静态属性:静态属性是多个对象共享的,当某个对象修改静态变量时,会导致其他对象调用此静态变量时,是修改过之后的属性.

  2.2 static修饰属性的说明:

   ① 静态变量随着类的加载而加载

    静态变量的加载要早于对象的创建.

   ② 由于类只会加载一次,所以静态变量也只对加载一次,储存在方法区的静态域中

复制代码
 1 public class static1 {
 2     public static void main(String[] args) {
 3         
 4         中国人.nation = "汉族";  //可以在实例化对象之前对类中的静态变量进行赋值.
 5         
 6         中国人 c = new 中国人();
 7         c.name = "qqman";
 8         c.age = 22;
 9         
10         
11         中国人 c1 = new 中国人();
12         c1.name = "u+1";
13         c1.age = 22;
14     }
15 
16 }
17 
18 
19 
20 class 中国人{
21     String name;
22     int age;
23     static String nation;
24 }
复制代码

 内存解析:

 

 

 

3.static修饰方法:

  从生命周期考虑:

  静态方法中,不能调用非静态的结构(属性、方法等)    可以调用静态的结构 

 

4.注意点:

  4.1 在静态方法内,不能使用this super关键字

  4.2 关于静态属性和方法的使用,大家都从生命周期的角度去理解.

 

5.使用场合:

  属性:

    可以被多个对象共享的属性,不会随着对象的不同而不同的时候,一般使用static属性

  方法:

     定义Utility工具类的时候一般使用static方法,此时不需要造具体对象

posted on   zaiwo2014  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
 
点击右上角即可分享
微信分享提示