Java中 static 用法总结

static可以修饰方法(静态方法) 属性(静态属性) 代码块(静态代码块);

static修饰的内容不再属于单个对象,而是属于这个类和类绑定,并且单独存放。当这个类同时有很多个实例化的对象时其中一个修改了这个static修饰的属性时其他对象调用时值也会随着改变;

 

适合使用static的使用情况:

比如说吉利汽车类,这个类有很多对象比如吉利博越,吉利帝豪,吉利博瑞,他们属性值基本不同但是有一个属性值相同那就是生产厂家都是吉利,那么我们可以将这个属性设置为静态属性这样这个属性便属于这个类而不是这个对象。Static实体在内存中单独存放,不跟对象的变量存放在一起。

 

静态变量:

 

public static int age = 18;

一般情况下,我们将静态变量用大写字母表示,有多个单词的时候,用下划线分开。静态变量也称为类变量,顾名思义,这些变量属于类的,而不是属于实例对象的。不同的类可能有很多个静态属性,所以在引用某个静态属性时,可以使用类名.属性名进行引用,也可以使用对象进行调用但是不符合静态属性的思想。静态属性在声明时只能存在对象的内部和方法平级,不能在方法内部声明静态属性。

总结:静态属性只能在外层类,或者静态内部类中进行定义;

静态方法:

public static void show(){};

和静态属性一样静态方法也属于类,也可以使用对象进行的调用;静态方法一般用于对静态属性进行操作(注意不包含声明静态变量),因为静态方法属于这个类所以里面不能存在非静态属性(费静态属性属于某个实例化对象,如果想使用这个非实例化属性可以先声明对象再进行引用,使用非静态方法也是需要先声明对象,使用对象进行引用。)

String schoolName;//中心名称
String schoolNum;//中心名称

public void showTime(){
    System.out.println("中心名称:"+schoolNum);
} 
//中心信息展示方法
public static void show(){
    School school = new School();
    //调用非静态属性必须先声明对象在进行引用 
    System.out.println("中心名称:"+school.schoolName);
    school.showTime();//调用非静态方法必须先声明对象在进行引用
}


  同样不能使用this super这些关键字。

 

 

 

 

你可能感兴趣的:(难点攻克)