static关键字的使用

时间:2021-05-06 19:38:58

static:

    是我们main函数的一种修饰符

    静态修饰符:标识成员可以被类直接调用

    可以被类名直接调用  类名.属性名

                  类名.方法

static:五种

    1:静态成员变量
              2:静态成员方法
              3:静态代码块
              4:静态内部类 X
              5:静态导包  

static与非static之间的重要区别:

区别1:
              static修饰的成员是随着类的加载而加载(优先)
              非static成员是随着对象的创建而加载

区别2
              静态方法|静态代码块只能调用静态成员,非静态成员是不能直接调用的,创建对象(不能使用this关键字)
              非静态方法可以直接调用非静态成员,也可以调用静态成员.类的对象进行调用静态成员

区别3:
              静态成员对于多个对象而言是共享的
              非静态成员对于多个对象是彼此独立的

 

public class StaticTest {
    
   String name;
   static int number=10; //静态成员变量
   
   public static void main(String[] args) {
       Person p=new Person();
       Person p1=new Person();
       p.setName("张三");
       p.setAge(16);
       System.out.println("我叫:"+p.getName()+",今年:"+p.getAge());
       System.out.println("我叫:"+p1.getName()+",今年:"+p1.getAge());
       
       doSome();
       
       System.out.printf("HelloWorld");
       
       System.out.println(Person.add(1,2,3,4,5,6));;
       
       System.out.println(Person.c(5));
       System.out.println(Person.c(5));
   }
   
   public static void sayHello(String name){ //静态函数
       System.out.println(name+",您好!");
   }
   
   static{ //静态代码块 最优先的
      System.out.println("这是静态代码块。。。。");  
   }
}