Java | Static 与 final

Static

#Static 定义的变量
  • 其调用:
类名.变量名
  • 所有同一个类的类成员共享,共用一个;
  • 其值可以修改
  • 不能将方法体内的局部变量声明为static

#Static 定义的方法
  • 其调用:
类名.方法
如 Math.pow
  • 所有同一个类的类成员共享,共用一个;
  • 其值可以修改
  • 静态方法不能向对象实施操作,静态方法中不可以使用this关键字;
  • 不能访问类中实例域(非static域 / 变量 / 方法),可访问类的静态域 / 变量(而且无需类名.变量名的普通调用格式):
//demo
class Employee
{
  private static int nextId = 1;
  public static int getNextId()
  {
   return nextId;
  }
}

被static定义的静态域独立于Java 的堆栈,独占一个存储空间;
static的方法在装载class得时候往往首先完成,比构造方法早,此时非static得属性和方法还没有完成初始化。
所以不能调用。


#Static 定义的类中程序块
public class example{
    static{
        //some
   }
}

在该段代码被执行时,首先执行static中的程序,并且只会执行一次。





final

#final定义的类
  • 不能被继承;不允许其他人对这个类进行任何改动;
  • 类中所有方法都被隐式设置为final;
  • 类中的成员变量可以被定义为final或非final;

#final定义的方法
  • 不能被重写

#final定义的变量
  • 只能赋值一次,赋值后不能再修改;

  • const是java中的预留关键字(java中预留关键字还有goto),现在没有作为关键字,以后的版本中可能扩展用,但现在常用于C,C++中。C中的const类似于final。
    其作用是,
    其修饰的变量必须在定义的时候进行初始化,
    否则一旦定义,变量便不可修改也不可再初始化!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 5,429评论 0 6
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 5,805评论 0 10
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 7,611评论 0 11
  • 1、.java源文件: 一个以”.java“为后缀的源文件:只能有一个与文件名相同的类,可以包含其他类。 2、类方...
    Hughman阅读 5,566评论 1 9
  • 文/奋斗一直在路上 暮春时节,山野绿,阅尽彬州春色。 一夜风雨八百里,催得残花满地。 空气寒彻,景色清爽,小城酣畅...
    慕容兰馨阅读 3,240评论 2 23

友情链接更多精彩内容