static关键字

7.5 static关键字


7.5.1 static是什么

  • static是静态的意思,可以用来修饰成员变量、成员方法。
  • static修饰成员变量之后称为静态成员变量(类变量),修饰方法之后称为静态方法(类方法)。
  • static修饰后的成员变量,可以被类的所有对象共享(访问、修改)。

7.5.2 static修饰的成员变量是什么? 有什么特点?

静态成员变量(有static修饰,属于类、加载一次,内存中只有一份),访问格式

  • 类名.静态成员变量(推荐)
  • 对象.静态成员变量(不推荐)。

实例成员变量(无static修饰,属于对象),访问格式:

  • 对象.实例成员变量。

7.5.3 两种成员变量各自在什么情况下定义?

  • 静态成员变量:表示在线人数等需要被类的所有对象共享的信息时。
  • 实例成员变量:属于每个对象,且每个对象的该信息不同时(如:name,age,money…)

7.5.4 static修饰成员方法的基本用法

成员方法的分类

  • 静态成员方法(有static修饰,归属于类),建议用类名访问,也可以用对象访问。
  • 实例成员方法(无static修饰,归属于对象),只能用对象触发访问。

使用场景:

  • 表示对象自己的行为的,且方法中需要访问实例成员的,则该方法必须申明成实例方法
  • 如果该方法是以执行一个共用功能为目的,则可以申明成静态方法。

成员方法的分类和访问分别是什么样的?

静态成员方法(有static修饰,属于类和对象共享)访问格式:

  • 类名.静态成员方法。
  • 对象.静态成员方法。(不推荐)

实例成员方法(无static修饰,属于对象)的访问格式:

  • 对象.实例成员方法。

7.5.6 静态代码块

  • 格式:static{}
  • 特点:需要通过static关键字修饰,随着类的加载而加载,并且自动触发、只执行一次
  • 使用场景:在类加载的时候做一些静态数据初始化的操作,以便后续使用。
public class base {
    public static void main(String[] args) {
        
 
    }
 
    static {
        System.out.println("-------------static-------------");
    }
 
 
}

随着类的加载而加载:

public class base {
    public static void main(String[] args) {
 
        System.out.println("-------------main方法-------------");
 
    }
 
    static {
        System.out.println("-------------static-------------");
    }
 
 
}

img

posted @ 2024-08-16 08:49  青城山下写代码1010  阅读(1)  评论(0编辑  收藏  举报