当前位置: 技术问答>java相关
如何定义一个全局变量,当我第一次使用,并且赋值以后,就不能再赋值,而成为常量
来源: 互联网 发布时间:2015-09-05
本文导语: 如题 | 给你一个简单的示例,我想你看了就会明白该怎么做的: public class test { public final int i; test(int i) { this.i=i; } public static void main(String args[]) { test tt=new test(3); System.out.prin...
如题
|
给你一个简单的示例,我想你看了就会明白该怎么做的:
public class test
{
public final int i;
test(int i)
{
this.i=i;
}
public static void main(String args[])
{
test tt=new test(3);
System.out.println("i="+tt.i);
}
}
public class test
{
public final int i;
test(int i)
{
this.i=i;
}
public static void main(String args[])
{
test tt=new test(3);
System.out.println("i="+tt.i);
}
}
|
那再定义一个私有变量用于标示改变昂是否已经定义过就行了,在要用到该变量的时候,首先检查另一个变量。例如:
class
{
private boolean isInitialize = false;
private int variable = 0;
public void Init()
{
variable = 10;
isInitialize = true;
}
public void useVariable
{
if(some methods want to change variable)
{
if(isInitialize)
{
return;
}
else
{
continue your code;
}
}
}
}
class
{
private boolean isInitialize = false;
private int variable = 0;
public void Init()
{
variable = 10;
isInitialize = true;
}
public void useVariable
{
if(some methods want to change variable)
{
if(isInitialize)
{
return;
}
else
{
continue your code;
}
}
}
}
|
你想在什么时候用?如果是jsp,servlet中可以在初始化方法时定义这个变量,然后赋值。
|
就如楼上所说,写一个方法对这个变量进行封装好了
|
final public static int a=0;
这时候a就成为一个全局整形常量。注意:必须在声明的时候负值。
这时候a就成为一个全局整形常量。注意:必须在声明的时候负值。
|
final 关键字
final方法不能覆盖
final类不能继承
final变量是常量
final方法不能覆盖
final类不能继承
final变量是常量
|
这时候的tt.i就是一个final常量,一旦你想改变它,就会报错