静态方法和非静态方法的区别


静态方法:是使用static关键字修饰的方法,又叫类方法.属于类的,不属于对象,
在实例化对象之前就可以通过类名.方法名调用静态方法。

非静态方法:是不含有static关键字修饰的普通方法,又称为实例方法,成员方法。属于对象的,不属于类的。

1、调用方法不同

  静态方法可以直接调用,类名调用和对象调用。(类名.方法名 / 对象名.方法名)
  但是非静态方法只能通过对象调用。(对象名.方法名)

2、生命周期不同

  静态方法的生命周期跟相应的类一样长,静态方法和静态变量会随着类的定义而被分配和装载入内存中。一直到线程结束,静态属性和方法才会被销毁。
  (也就是静态方法属于类) 
  非静态方法的生命周期和类的实例化对象一样长,只有当类实例化了一个对象,非静态方法才会被创建,而当这个对象被销毁时,非静态方法也马上被销毁。
  (也就是非静态方法属于对象)

静态变量的优点

  • 属于类级别的,不需要创建对象就可以直接使用.
  • 全局唯一,内存中唯一,静态变量可以唯一标识某些状态.
  • 在类加载时候初始化,常驻在内存中,调用快捷方便.

应用场景:

  1. 静态方法最适合工具类中方法的定义;比如文件操作,日期处理方法等.
  2. 静态变量适合全局变量的定义.

https://zhuanlan.zhihu.com/p/258751142


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM