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修饰的变量其值是可以更改的。

转载于:https://www.cnblogs.com/leiblog/p/10518187.html

【Java_基础】java中static与final关键字的区别相关推荐

  1. java中static、final 和 static final之间的区别

    java中static.final 和 static final之间的区别 static可以修饰:全局属性,方法,代码块,内部类(静态内部类或嵌套内部类) 由于静态属性和方法是属于该类的所有对象的,所 ...

  2. Java:static和final关键字的区别与比较

    文章目录 前言 一.final关键字 二.static关键字 总结 前言 本文记录笔者在复习Java基础期间学习的static和final关键字 一.final关键字 final关键字具有如下特点 f ...

  3. Java中static、final用法小结

    一.final 1.final变量: 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引 ...

  4. java中static、final、static final的区别

    总结一: final可以修饰:属性,方法,类,局部变量(方法中的变量) final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变. final修饰的属性跟具体对象有关,在运行期初始 ...

  5. java中static、final、static final浅析

    final final可以修饰类.属性.方法.局部变量.参数,不能修饰接口! final修饰类:该类不能被继承(解释了为什么不能修饰接口,不过接口里面的属性.方法等是可以用final修饰的): fin ...

  6. 转:java中static、final、static final的区别

    http://blog.csdn.net/qq1623267754/article/details/36190715 final可以修饰:属性,方法,类,局部变量(方法中的变量) final修饰的属性 ...

  7. 在 java 中 关于final 关键字_在Java中,关于final关键字的说法正确的是

    摘要: 人类统地著:中字的正确美育也是确系部明文化论述第一的论史上,著"美级在育"部资论论第一的理产阶方面.说法中字的正确信方轨道工B工C工天线交通接收.全半双的通.单车载采用式( ...

  8. [转载] java(三)对象的序列化与static、final关键字

    参考链接: Java中的final最终变量 java对象的序列化 Java序列化是指把Java对象转换为字节序列的过程:而Java反序列化是指把字节序列恢复为Java对象的过程.java中存有Clon ...

  9. 面向对象篇(OOP)--05 Java中static关键字的四种用法

    在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一下stat ...

  10. java的static和private_static关键字什么意思?Java中是否可以覆盖一个private或者是static的方法?...

    答案:"static"关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问.Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而s ...

最新文章

  1. 蓝桥杯第九届决赛-交换次数-java
  2. 【Linux】无法添加用户,报“useradd: cannot open /etc/passwd”问题解决过程记录
  3. Python语言学习之字母G开头函数使用集锦:global用法之详细攻略
  4. android 马甲包 app,寻 实力android马甲包上架技术
  5. shell date
  6. dev gridcontrol简单的动态设置动态表头
  7. mysql 8.1初始密码_MySQL8.0安装之后查找默认密码
  8. 重新审视自己和自己的目标
  9. django ajax 简书,Django_ajax
  10. 基于vue,elementui的注册页面源码
  11. Debug在中Eclipse的应用
  12. JS+XMLDOM+XSL:实现中英文界面切换、排序、分页显示、增删改查XML文件数据源
  13. 利用HTML+JS+CSS实现简单的网页计算器,附html所有源代码,可直接黏贴运行
  14. JDK中AbstractQueuedSynchronizer应用解析
  15. android源码学习-Handler机制及其六个核心点
  16. python滑稽脸_使用python的turtle绘画滑稽脸实例
  17. html中scr作用,可控硅的作用是什么
  18. 找不到局域网计算机网络路径,分享解决Win10局域网找不到网络路径的技巧
  19. Autoware:ndt_mapping节点
  20. OpenCV中文文档

热门文章

  1. Linux特殊符号浅谈
  2. 很好的c++和Python混合编程文章
  3. WinXP IIS配置
  4. 显示MSSQL SQL语句执行的时间
  5. JavaScript或MyEclipse—如何解决js文件导入到MyEclipse工程后出错?
  6. C++17 Any类
  7. 查找算法之六 哈希查找(C++版本)
  8. 微服务学习之消费模块【Hoxton.SR1版】
  9. java foreach跳出本次循环_java控制流程最全示例
  10. 列车控制matlab仿真,基于matlab的列车纵向碰撞建模仿真研究