面向对象编程——Static关键字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象编程——Static关键字相关的知识,希望对你有一定的参考价值。

Static变量

◆在类中,用static声明的成员变量为静态变量,或者叫:类属性、类变量。

(注意:静态变量是从属于类,在对象里面是没有这个属性的;成员变量是从属于对象的,有了对象才有那个属性) 

  • 它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显示初始化。
  • 对于该类所有对象来说,static成员变量只有一份.被该类的所有对象共享!!
  • 可以使用“对象.类属性”来调用。不过,一般都是用"类名.类属性”。
  • static变量置于方法区中。
  • 在静态的方法里面不可以调用非静态的方法或变量;但是在非静态的方法里可以调用静态的方法或变量。

Static方法

◆用static声明的方法为静态方法

  • 不需要对象,就可以调用(类名.方法名
  • 在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员

【实例1】

student类:

技术分享

测试:

技术分享

静态初始化块

◆如果希望加载后,对整个类进行某些初始化操作,可以使用static初始化块

  • 是在类初始化时执行,不是在创建对象时执行
  • 静态初始化块中不能访问static成员。

执行顺序:

 。。。。

 

总结:类只能使用类的方法和属性,对象既可以使用类的方法,又可以使用对象的方法。

static的方法只能调用static的变量和方法,非static的方法既可以调用static的,又可以调用非static的。

以上是关于面向对象编程——Static关键字的主要内容,如果未能解决你的问题,请参考以下文章

PHP面向对象编程之延迟静态绑定(static关键字)

面向对象基础——static关键字和代码块的使用

面向对象编程——Static关键字

Java面向对象编程 -5.2

php面向对象编程笔记static的后期静态绑定

java_面向对象