当前位置:首页 > 开发 > 编程语言 > Java > 正文

JAVA基础----java中final和static关键字的理解

发表于: 2014-03-01   作者:无量   来源:转载   浏览:
摘要: 1、final最终的,由final修饰的变量,只能被初始化一次,可以在声明时初始化,也可以之后初始化,但只能初始化一次,所以由final修饰的变量是常量,不能再变了,注意如果类成员变量用final修饰,一种是声明时初始化,一种是在构造方法中初始化 注意:常量一般都用大写来表示如:PI,IP,SOCKET_NAME,MAX_SPEED 例如: public class Test{ pub
1、final最终的,由final修饰的变量,只能被初始化一次,可以在声明时初始化,也可以之后初始化,但只能初始化一次,所以由final修饰的变量是常量,不能再变了,注意如果类成员变量用final修饰,一种是声明时初始化,一种是在构造方法中初始化
注意:常量一般都用大写来表示如:PI,IP,SOCKET_NAME,MAX_SPEED

例如:
public class Test{
	public static void main(String []args) {
		A a = new A();
		//a.a = 2;//这个报错,只能初始化一次
		A b = new A();
		//b.a = 2;//这个也报错
	}
}	
	
class A {
	public final int a = 2;
}



2、static静态的,类级拥有的,由static修饰的成员变量(或者叫属性),在内存中只有一份,这个类所产生的所有实例,都公用这个一份,所以说一般,类的所有实例共同维护的属性,可以用static修饰,类名.static修饰的变量名,就可以来操作这个属性,而且内存中只维护一份,高效,省空间
例子:
public class Test{
	public static void main(String []args) {
		Stu s1 = new Stu();
		s1.s = 1;System.out.println(s1.s); //输出1
		s1.s = 2;System.out.println(s1.s); //输出2
		Stu s2 = new Stu();
		s2.s = 3;
		System.out.println(s2.s); //输出3
		System.out.println(s1.s); //输出3  因为内存中所有的实例共同维护这一份,变量
		System.out.println(Stu.s); //输出3  一般来说都直接通过类名来引用类中的静态变量
	}
}	
	
class Stu {
	public static int s;
}


其他例子:
public class Test {
	public static void main(String[] args) {
		final int num = 3;
		num = 4;  //final修饰的是常量,最终变量,不能再赋值,必须在初始化的同时就赋值
	}
}


3、静态常量:
用static final同时修饰的变量,是静态常量,同时有final和static的特性,一般用来声明系统中只维护一份(static修饰)的不变的量(final修饰)

例子:
public interface Dict {
	public static final int YES = 1;
}

用法:
直接通过---类名.变量名,来用
如:Dict.YES

JAVA基础----java中final和static关键字的理解

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
一、关键字final static 介绍 1. final 根据程序上下文环境,Java关键字final有“这是无法改变的”
一、final关键字 final在java中表示的意思是最终,也可以称为完结器。可以使用final关键字声明类属性
this: 可以使用this表示类中的属性------this.name=name 可以使用this强调调用的是本类的方法 可以
一、final修饰类 用final修饰的类,不能被继承。JAVA中的String就是final修饰的类。final类中的所有
文章大部分内容来自:http://blog.sina.com.cn/s/blog_577d2a00010008ke.html http://developer.51c
static关键字特点: 随着类的加载而加载。 优先于对象存在。 被所有对象共享 可以直接被类名调用。
一、static关键字      原来一个类里面的成员变量,每new一个对象,这个对象就有一份自己的成员
谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,J
简介:   谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键
 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号