static相关用法

static相关用法

1.static修饰成员变量(此变量被类中所有实例共享)

  • 即用任意一个实例对象改变成员变量值,其他实例对象的成员变量值也会同样改变

?
public class Student {
static String school="CSU";
}
public class Test {
   public static void main(String[] args) {
       // 通过“类名.变量”名调用静态变量
       System.out.println("Student.school:" + Student.school);
       // 创建学生对象
       Student s1 = new Student();
       Student s2 = new Student();
       // 输出实例对象静态变量属性
       System.out.println("s1.school:" + s1.school + "-----"+"s2.school:" + s2.school);
       // 修改其中一个实例对象的静态变量属性
       s1.school = "HNU";
       // 输出实例对象静态变量属性
       System.out.println("s1.school:" + s1.school + "-----"+"s2.school:" + s2.school);
  }
}

static相关用法

  • 对比

    • 不使用static修饰成员变量

    static相关用法

    • 使用static修饰成员变量

      static相关用法

2.static修饰成员方法

  • 使用static,该静态方法可直接通过 类名.方法名直接调用,不需要创建对象调用(static修饰的成员方法访问权限需要高于private)

  • 注意:静态方法只能访问static修饰的成员,即静态成员,因为它们都放在静态存储区

  • 举例(定义学生类和测试类)

    ?
    public class Student1 {
    static void study() {
    System.out.println("学习中");
      }
    }
    ?
    public class Test1 {
    public static void main(String[] args) {
    Student1.study();
    }
    ?

    static相关用法

3.static修饰代码块

  • 静态代码块与类同时加载,只执行一次(类只执行一次)

  • 举例(定义学生类与测试类)

  • public class Student2 {
    static{
    System.out.println("静态代码块");
    }

    public void showName (String name){
    System.out.println(name);
    }
    }
    ?
    public class Test2 {
    public static void main(String[] args) {
    Student2 s1=new Student2();
    Student2 s2=new Student2();
    s1.showName("张三");
    s2.showName("李四");
    }

    static相关用法

  •  

static相关用法

上一篇:InnoDB锁冲突案例演示


下一篇:Microsoft SQL Server Version List [sqlserver 7.0-------sql server 2016]