博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
static和final的区别
阅读量:7217 次
发布时间:2019-06-29

本文共 860 字,大约阅读时间需要 2 分钟。

hot3.png

1.final定义的变量可以看做一个常量,不能被改变;final定义的方法不能被覆盖;final定义的类不能被继承。final static 就是再加上static的特性就可以了

2.static 是在内存中分配一块区域,供整个类通用,所有的类的对象都享有它的共同的值

static定义一个变量:实现的是类所有对象的共享,比如算网站的点击量的时候,通过一个static变量实现。

 

public class StaticTest {	private static int i = 0;		public int add(int i)	{		return this.i += i;	}	/**	 * @param args	 */	public static void main(String[] args) 	{		StaticTest st = new StaticTest();		st.add(3);		StaticTest st1 = new StaticTest();		st1.add(4);		System.out.println(i);	}}

代码中的i的值实现了共享,由此可见静态域保存在类的存储单元里,问不是保存对象的存储单元里。

而final如同上面所讲的,定义常量或者方法不能覆盖,类不能继承。这里的方法不能覆盖但是可以重载:

 

public class StaticTest {	private static int i = 0;		public final int add(int i)	{		return this.i += i;	}}

 

public class StaticTest1 extends StaticTest{	private int i = 0;	public int add(String i)	{		return this.i += Integer.parseInt(i);	}}

 

转载于:https://my.oschina.net/u/264622/blog/53617

你可能感兴趣的文章
折半查找习题解答
查看>>
51单片机的P1
查看>>
[32]JSON
查看>>
3689: 异或之
查看>>
字符串模式匹配KMP算法
查看>>
Android Drawable和Bitmap图片之间转换
查看>>
Debian 8 安装 Nvidia 显卡驱动
查看>>
nginx静态文件访问
查看>>
SharePoint 2013中的默认爬网文件扩展名和分析文件类型
查看>>
c#-冒泡排序-算法
查看>>
IP釋放、清除、以及刷新DNS
查看>>
第二次作业
查看>>
小知识
查看>>
安装Vmware时竟然也会报错,错误信息见图
查看>>
20179311《网络攻防实践》第三周作业
查看>>
Ural 1042 Central Heating
查看>>
css兼容问题大全
查看>>
2018-2019-1 20165324《信息安全系统设计基础》实验五
查看>>
使用 Applet 渲染 jzy3d WireSurface 波动率曲面图
查看>>
9 Web开发——springmvc自动配置原理
查看>>