1.static关键字

经static关键字修饰的成员被该类的所有对象所共享,任意一对象对静态变量的修改其它对象都是可见的。通常通过类名来引用static成员。类加载的连接阶段将会为静态成员变量在jvm内存的方法区分配空间,并在类的初始化阶段赋初值。

一个类的static成员变量只有“一份”(存储在方法区),无论该类创建了多少对象。看如下的示例:

public class StaticDemo {
public static void main(String[] args) {
People p1 = new People(18);
People p2 = new People(19);
People p3 = new People(20); } } class People {
private static int num;
private int age;
public People(int age) {
this.age = age;
System.out.println(++num);
}
}

输出结果:

1
2
3

2.final关键字

1)final修饰变量:意为其值不可改(即为常量),在类的编译阶段成员常量就会被初始化,并保存在class文件的静态常量池中,待类加载的时候再将静态常量池中的常量读取到jvm内存方法区,保存在方法区的运行时常量池中。

2)final修饰方法:表示方法不能被重写。

3)final修饰类:表示该类为终极类,不能被继承。JDK中的一些基本类库被定义成final,例如String,Math,Integer等,这样可以防止对系统造成危害。

final和static关键字的区别:final可修饰局部变量,任何位置经final修饰的变量其值是不可改的;static不可修饰局部变量,经static修饰的变量其值是可以更改的。

最新文章

  1. Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
  2. 使用原生JS实现一个风箱式的demo,并封装了一个运动框架
  3. 【转】logback 常用配置详解(序)logback 简介
  4. GUI
  5. JS的跳转
  6. 关于HTML5中video标签的奇怪现象
  7. docker commit容器
  8. [原]iptables的NAT策略
  9. Bone Collector(ZeroOnebag)
  10. AngularJs ng-repeat
  11. Linux svn服务的搭建
  12. c语言基础学习08_关于内存管理的复习
  13. Linux服务器断电导致挂载及xfs文件损坏的修复方法
  14. gcov 统计 inline 函数
  15. 利用crontab定时提交svn遇到的几个问题
  16. xLearn
  17. ajax 异步请求
  18. SQL Server 数据库对象命名参考
  19. Python学习笔记(六)—— 条件判断
  20. 使用xtrabackup不停服务做从库

热门文章

  1. cell内存优化
  2. XHTML学习笔记 part1
  3. C 语言实例 - 复数相加
  4. Restful API官方文档
  5. win 7启动tensorboard的详尽步骤
  6. Azure service bus Topic基本用法
  7. Java微信公众平台开发(九)--微信自定义菜单的创建实现
  8. javaScript中的闭包原理 (译)
  9. kafka-->storm-->mongodb
  10. 装饰者模式--Java篇