1. 静态属性:静态属性占用同一代码块,既以static声明的属性,不管声明多少过对象,static的值改变多少次,它的值永远是一次所赋的值。就像c语言中地址的概念类似,不管声明多少个对象,静态变量永远占用同一个地址空间。静态属性还可以以(类名.属性名进行访问)
package dao;
import org.apache.jasper.tagplugins.jstl.core.Out;
public class B{
private static int a=3;
public static void main(String[] args) {
B b = new B();
B c = new B();
b.a = 1 ;
c.a = 3;
System.out.println(b.a);
System.out.print(c.a);
}
}
输出结果:
3
3
**2. 静态方法:**java中的静态方法只能访问对象的静态属性,其他属性不能访问。
**3. 静态代码块:**静态代码块的声明和使用往往在对象中属性和方法之前,它可以调用静态属性,当是无权访问其他属性。那是因为在静态代码块运行之前,其他属性往往未定义,当然不能使用。静态代码块,往往在构造函数之前。
```css
package dao;
import org.apache.jasper.tagplugins.jstl.core.Out;
public class B{
private static int a=3;
private int b=3;
public static void tostring()
{
System.out.println(a);
}
public B()
{
System.out.println("构造方法");
}
public static void main(String[] args) {
B b = new B();
B c = new B();
b.a = 1 ;
c.a = 3;
System.out.println(b.a);
System.out.print(c.a);
}
static {
System.out.println(a);
System.out.println(b);
System.out.println("静态代码块");
}
}
``