Java中的一个小问题!
在一个类中,如果某个变量被声明为final类型,那么如果不给这个变量赋值,可不可以,我用的是JDK1.5的版本,在ECLIPSE中不可以这样写,会报错,不知道是所有的版本...
在一个类中,如果某个变量被声明为final类型,那么如果不给这个变量赋值,可不可以,我用的是JDK1.5的版本,在ECLIPSE中不可以这样写,会报错,不知道是所有的版本都不可以这样写,还是只在高一点的版本里不可以这样写,或者是eclipse报的错误只是一种使程序规范化的提示!
望高人指点!!!! 展开
望高人指点!!!! 展开
6个回答
展开全部
关于final,给几点建议给楼主,希望对你能有帮助:
1、final定义的是常量,所以不能被修改,所以有两种方式给final赋值:
*在声明final常量的时候进行初始化,如
public final int count = 10;
*也可以当时不去定义,在类的构造函数中定义,也是没有问题的:
public class Test
{
public final int count;
Test()
{
count = 10;
}
public static void main(String[] args)
{
Test test = new Test();
System.out.println(test.count);
}
}
打印出10,也是没有问题的
【总结】一个final的常量,可以在声明的时候初始化,也可以在构造函数中给他赋值,这都是可以的。
2、如果这个变量同时为final和static的时候就必须在声明的同时进行初始化:
public static final int count = 10;
3、如果要在内部类中使用成员变量,那么这个变量要声明为final。
final的常见用法无非上面三种,希望我的回答对您能有所帮助!
1、final定义的是常量,所以不能被修改,所以有两种方式给final赋值:
*在声明final常量的时候进行初始化,如
public final int count = 10;
*也可以当时不去定义,在类的构造函数中定义,也是没有问题的:
public class Test
{
public final int count;
Test()
{
count = 10;
}
public static void main(String[] args)
{
Test test = new Test();
System.out.println(test.count);
}
}
打印出10,也是没有问题的
【总结】一个final的常量,可以在声明的时候初始化,也可以在构造函数中给他赋值,这都是可以的。
2、如果这个变量同时为final和static的时候就必须在声明的同时进行初始化:
public static final int count = 10;
3、如果要在内部类中使用成员变量,那么这个变量要声明为final。
final的常见用法无非上面三种,希望我的回答对您能有所帮助!
展开全部
final代表的是终态,是不能被赋值的,和JDK和ECLIPSE无关,这是一个关键字,是个语法问题。
正确使用如下:
public static final String myStr = new String("hello");
这样,该myStr可以做为正常变量使用,但是不能被赋值修改。
正确使用如下:
public static final String myStr = new String("hello");
这样,该myStr可以做为正常变量使用,但是不能被赋值修改。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
final int i=0;
指i不可变,
那final int i;
不给i初始化,就是想后面给i赋值,这不是驳论吗?
所以这不是eclipse的问题,而是java不允许这样。而且是java语言一开始就这样定义的。
指i不可变,
那final int i;
不给i初始化,就是想后面给i赋值,这不是驳论吗?
所以这不是eclipse的问题,而是java不允许这样。而且是java语言一开始就这样定义的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不可以这样写,
错误 public static final String str;
正确 public static final String str=null;
或者 public static final Staing str="";
错误 public static final String str;
正确 public static final String str=null;
或者 public static final Staing str="";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
被申明为final的变量必须被初始化,且不能被改变,这是JAVA语法规定的,和eclipse无关。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你需要把错误信息补充上来,可能是你这个常量没有被调用,系统提示错误。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询