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

[b][color=brown]1、final最终的,由final修饰的变量,只能被初始化一次,可以在声明时初始化,也可以之后初始化,但只能初始化一次,所以由final修饰的变量是常量,不能再变了,注意如果类成员变量用final修饰,一种是声明时初始化,一种是在构造方法中初始化
注意:常量一般都用大写来表示如:PI,IP,SOCKET_NAME,MAX_SPEED[/color][/b]
例如:
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;
}



[b][color=brown]2、static静态的,类级拥有的,由static修饰的成员变量(或者叫属性),在内存中只有一份,这个类所产生的所有实例,都公用这个一份,所以说一般,类的所有实例共同维护的属性,可以用static修饰,类名.static修饰的变量名,就可以来操作这个属性,而且内存中只维护一份,高效,省空间[/color][/b]
例子:
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修饰的是常量,最终变量,不能再赋值,必须在初始化的同时就赋值
}
}


[b][color=brown]3、静态常量:
用static final同时修饰的变量,是静态常量,同时有final和static的特性,一般用来声明系统中只维护一份(static修饰)的不变的量(final修饰)[/color][/b]
例子:
public interface Dict {
public static final int YES = 1;
}

[b][color=darkblue]用法:
直接通过---类名.变量名,来用
如:Dict.YES[/color][/b]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值