关于 static

2023-06-12

  由static定义的被称为类属性 例如(  static String company = "博客园"  )

            类方法 例如(  public static void printCompany()  )

  这些类属性类方法,在程序加载的时候是与 类 一同加载的。在他们加载的时候,普通方法(no-static方法)则是还没有加载,固然是不能直接调用的。而在

static String company = "博客园";      //类属性,静态属性
public static void printCompany()      //类方法,静态方法

  其中在类方法中,调用非静态方法就会报错,这是因为非静态方法,属于普通方法(?),并且属于对象。而对象存放在堆中;

  类(static)则实在方法区中,没法直接和 堆、栈 相连接。  如下代码中在静态方法中调用非静态方法则会报错。

  

public static void printCompany(){          //static 方法是在方法区的,没办法直接和堆栈里连接
login(); //调用非静态方法就会报错
     TestStatic t2 = new TestStatic(10,"李四","123");
     t2.login();                        //可以和main方法中一样选择使用方法体进行对非静态方法的调用。
    }

  同理,类方法里,就可以调用类属性以及类方法,因为他们同放置在static那个框框里,所以他们在初始化的时候都在一起加载,可以找得到对方

    static String company = "阿里巴巴";
static void printid(int id){
System.out.println(id);
}
public static void printCompany(){
System.out.println(company);
printid(13);
}

 

2023-04-16

关于 static的相关教程结束。

《关于 static.doc》

下载本文的Word格式文档,以方便收藏与打印。