java的final修饰_java final 修饰符详解
final修飾符究竟有什么作用,我們該如何使用,對我們的應(yīng)用開發(fā)又能夠起到什么作用,有java基礎(chǔ)的肯定是不難說出final的幾個用法,
1.被final修飾的變量在首次被初始化之后是不能夠再次被賦值的。
2.被final修飾的方法是不可以被重寫的。
3.被final修飾的類是不能夠派生出子類來的。
被final修飾的實例變量和類變量
public class Main {
private final int num1 = 1;
private final int num2 ;
private final int num3 ;
private final static int num4;
private final static int num5 = 5;
{
num3 = 3;
}
static {
num4= 4;
}
public Main() {
num2 = 2;
// TODO Auto-generated constructor stub
}
}
首先,被final修飾的變量必須要對其進(jìn)行顯示初始化,而且系統(tǒng)不會對其進(jìn)行初始化賦初值,對于實例變量有這三種初始化的方式,第一在定義的時候?qū)ζ渲苯淤x值,第二就是在非靜態(tài)代碼塊中對其進(jìn)行賦值,在靜態(tài)代碼塊中是不可以對實例變量進(jìn)行賦值的。第三種方式就是在構(gòu)造函數(shù)中對其進(jìn)行賦值。對于類變量來說1,在靜態(tài)代碼塊中對其進(jìn)行初始化2.在對其進(jìn)行定義的時候直接對其進(jìn)行顯示初始化。是不可以在構(gòu)造函數(shù)中對其進(jìn)行初始化的。final修飾的變量相當(dāng)于宏變量,但是只有再對該變量在定義的時候進(jìn)行初始化的時候,該變量才會被執(zhí)行宏替換,如果是在初始化塊或者構(gòu)造函數(shù),或者是在對其賦值的時候用到一些方法的話,這些類型都是不可以對其進(jìn)行宏替換的,這種情況表現(xiàn)在對變量的值得比較的時候出現(xiàn),說到這就要說的是java中的字符串緩沖區(qū),每一個字符串都會在緩沖池中有一個,相同的則只會存在一個,只有兩個字符串變量指向同一個緩沖區(qū)的同一個變量的時候,才會判定其是相等,如果不是則會判定為不相等。
被final修飾的方法()
總結(jié)
以上是生活随笔為你收集整理的java的final修饰_java final 修饰符详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java float 转double_将
- 下一篇: Java传xml时字符串乱码_php调用