static 修饰变量:
作用:用static修饰符修饰的域变量不属于任何一个类的具体对象,而专属于类。
特点:它被保存在类的内存区中(堆中)的公共存储单元中,而不是保存在某个对象的内存区中,因此,一个类的任何对象访问它时,存取到的都是相同的数值。
访问:类名.属性 或者 对象.属性
示例:
1 public class CountObjects { 2 private static int i = 0; 3 4 CountObjects() { 5 i++; 6 } 7 8 public static int getI() { 9 return i; 10 } 11 12 public static void main(String[] args) { 13 CountObjects c = new CountObjects(); // 此时CountObject.getI()的结果为1 14 c = new CountObjects(); // 此时CountObject.getI()的结果为2 15 System.out.print(CountObjects.getI());// System.out.print(c.getI()); 16 } 17 }
static修饰变量
static 修饰方法:
作用:用static修饰的方法称为静态方法,它属性类方法,不属于类的任何对象
特点:
1.static方法是类方法,但可以被任何对象所访问。
2.static方法内部的代码,只能访问类中的static属性或方法,不能访问类中的非static属性或方法(因为他们属于对象)
3.非sstatic方法(对象方法)可以访问static属性或方法
4.main方法是特殊的静态方法
访问:类名.方法() 或者 对象.方法()
static 静态代码块
介绍:一个类可以使用不包含在任何方法体中的静态代码块。当类被装载时,静态代码块被执行,切执行一次。静态代码块经常用来对类汇总定义的属性进行初始化。
代码示例:
1 class StaticCodeBlock{ 2 static int value; 3 static{//static静态代码块 4 value = 3; 5 System.out.println("Value = " + value); 6 } 7 public static void main(String[] args){ 8 } 9 }
static静态代码块
时间: 2024-10-15 23:46:06