您的位置:首页 > 编程语言 > Java开发

java中static的整理

2016-04-23 00:00 375 查看
被static修饰,表示在java字节码被加载的时候就已经被保存在jvm的方法区,所以所有静态的和非静态的区别就是一个存放在方法区属于类的,一个存放在堆属于对象的。

静态变量、静态方法和普通方法、普通方法。这个比较熟悉,用类名可以直接访问。

静态代码块和非静态代码块。静态代码块在类被加载的时候就被执行了,普通代码块在对象被创建的时候才执行。

静态内部类和普通内部类。静态内部类只能访问外部类的静态属性,普通内部类可以访问外部类的所有属性,包括private修饰的属性。

public class StaticInnerClass {
private static String outStaticStr = "outStaticStr";
public static String outStaticStr2 = "outStaticStr2";
public String outStr3;

static{
System.out.println("这是静态代码块在程序一开");
}

{
System.out.println("这是普通代码块");
}

static class innerStaticCass{
private void method1(){
System.out.println(outStaticStr);
System.out.println(outStaticStr2);
}
public static void innerStaticMethod(){
System.out.println(outStaticStr);
System.out.println(outStaticStr2);
}
}

class innerClass{
public void innerClass(){
System.out.println(outStaticStr);
System.out.println(outStaticStr2);
System.out.println(outStr3);
}
}

private static void staticMetod(){
System.out.println("这是静态方法");
}

public static void main(String[] args) {
//	StaticInnerClass.innerStaticCass.innerStaticMethod();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java static