static表示“静态的”或者“全局的”,用来修饰变量,属性,方法。
1、静态属性[静态域]
当static修饰属性的时候,是该类的所有对象共享的一个属性,只会占有一块内存空间,可以通过对象,或者类名直接调用。
public static B b= new B();
2、静态方法
当static修饰方法时,由于是直接通过类名调用,所以不能再用this与super关键字,不能直接访问所属类的实例变量和实例方法(不带static的成员变量个成员的成员方法),static的调用是要调用父类还是子类只与类名有关。
public static void study() { System.out.println(Student.name + "在学习"); }
静态方法是类内部的一类特殊方法,只有在需要时才将对应的方法声明成静态的,一个类内部的方法一般都是非静态的
static属性和方法是不需要创建对象来调用的。
a.一个方法不需要访问对象状态,其所需的参数都是通过显示参数提供。[不用创建对象]
b.一个方法只需要访问类的静态域。
通过对static属性、static方法的了解,总结出一些成员属性、成员方法的使用方法:
成员属性:每个对象都单独占用共享的一块内存空间,必须通过对象才能调用。
(每new一次对象,就执行一次成员属性)
public A a = new A();
成员方法:是调用父类还是子类重写的只和对象本身有关