上一篇文章我們講了 java 中 static 關鍵字的使用,這裡再將一下 final 關鍵字的使用。final 在 java 中可以看做一個「終結者」,它可以定義類、定義方法和定義變量。
當定義類的時候,該類不能被繼承
當定義方法的時候,該方法不能被子類覆蓋(Override)
當定義變量的時候,該變量只能在定義的時候初始化,後期不能做改變,即變為一個常量。
哎呀,好像沒別的可說了,就這樣吧,這可能是我寫過的字數最少的一篇文章了
算了,最後加一個示例程序吧,當然是錯誤的程序,包含了以上三種使用方法的錯誤使用報錯信息:
package com.example.finalDemo;/** * User: sunriseydy * 2018-4-25 22:04 */finalclassPerson{String name ="張三";finalString city ="北京";publicPerson(){ city ="上海";/*city 報錯:Cannot assign a value to final variable "city"*/}finalpublicvoid print (){System.out.println("我叫"+name+" 來自"+city);}}class student extendsPerson{/*Person 報錯:Cannot inherit from final 'com.example.finalDemo.Person'*/int id =1;publicvoid print (){/*上一行報錯:'print()' cannot override 'print()' in 'com.example.finalDemo.Person'; overridden method is final */System.out.println("我叫"+name+" 來自"+city+" 學號為"+id);}}publicclassFinalClassDemo{publicstaticvoid main(String[] args){}}
就這樣吧
博客文章地址:https://blog.sunriseydy.top/technology/code/java/java-final/