下面的代码正确
public class Test {
public final String a;
public Test(){
a = "xxx";
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.a);
}
}
下面的代码错误(由于是静态的,又是final的,所以要求你在最先声明的那句话就要给它赋值,不允许你在构造函数中赋值)
public class Test {
public static final String a;
public Test(){
a = "xxx";
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.a);
}
}
下面的代码错误(这个就是最基本的final含义,你赋值过了,后面就不允许你赋其它值了)
public class Test {
public final String a;
public Test(){
a = "xxx";
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.a);
t.a = "sxx"
}
}
下面的代码错误(final变量,你要么在声明的时候初始化,要么就在构造函数中初始化,出了这两个地方,再去赋值也要报错。)(从这点你也可以知道,如果是static final连用,那么就只有一个地方初始化了,只有声明的地方了,连构造函数中初始化的机会也没有了。)
public class Test {
public final String a;
public Test(){
}
public static void main(String[] args) {
Test t = new Test();
t.a = "xxx";
System.out.println(t.a);
}
}
分享到:
相关推荐
java中final和static讲解及实例
自己总结的java中final和static的区别,请大家提出宝贵意见。
java 中static和final的定义及其用法
Java编程中static和final关键字的陷阱.pdf
Java中static、this、super、final用法.doc
JAVA(static、finalの使用).doc
java中final与static的用法
根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。
java 关键字final和static
本篇旨在帮助准备学习Java以及刚接触Java的朋友认识、掌握和使用static、this、super、final这几个关键字的使用。Java博大精深,我也是一位正在学习和使用Java的爱好者,文中难免有不妥之处,欢迎指正。
NULL 博文链接:https://zkf60553.iteye.com/blog/1307592
自己总结了一下java中static、final、abstract和interface的用法
Java中static、this、super、final用法(word文档)
JAVA访问控制 、 static和final.mp4
非常详细的java中static介绍
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念……
分析static和final的各种应用和区别,以及在继承时候的区别
static、this、super、final的JAVA用法