概述
public class Application {
static class A{
static {name = "hello";}
private static String name;
public static String getName() {
return name;
}
public static void setName(String str) {
name=str;
}
public A() {
//
name = "world";
}
//
{name="come on";}
public String getname() {
return name;
}
}
public static void main(String[] args) {
System.out.println(A.getName());
A.setName("Hi");
System.out.println(A.getName());
A a = new A();
System.out.println(a.getname());
}
}
通過以上代碼實驗,表明靜態代碼塊的所處的位置不影響給靜態變量初始化,非靜態代碼塊構造方法衹能給實例變量初始化,并且構造方法會覆蓋靜態代碼塊所初始化的變量值,實例方法優先查找實例變量,找不到轉去找同名類變量
final變量不能與類變量實例變量重名,衹能一次初始化,即代碼塊初始化和構造函數初始化二選一,final方法可以重載,不能重寫,final類不能繼承。一句話:final一出生便獲得永生,中途沒有任何囘爐改造,重要一點,final只保證引用的長生,引用的内容不管!!!
最后
以上就是成就花生为你收集整理的深入理解static和final的全部内容,希望文章能够帮你解决深入理解static和final所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复