final方法覆盖与重载问题以及不同访问权限问题
生活随笔
收集整理的這篇文章主要介紹了
final方法覆盖与重载问题以及不同访问权限问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先看兩個代碼
建立一個worker類,類中聲明了兩個final修飾的方法,out1(),out()方法是private權限
建立一個boss類,該類繼承了worker類。
在這個類中成功聲明了一個out()和out1()方法,均為public。
寫一個測試類
boss m=new boss();m.out();m.out1();worker n=m;//向上轉型,可以不管//n.out();錯誤//n.out1();錯誤輸出結果為
hello boss
boss T
boss out
boss out1
可以看到兩個類中有完全一樣的T()方法
private final void T() {println("...T");}但當你把private改為其他的public等時便會報錯,這是為什么呢?
因為如果某方法為private,他就只是隱藏在類中的程序代碼,只不過是在兩個類中有了相同的名稱而已。如果是public,protected,包訪問權限的話,就不會出現只是相同名稱的情況。
所以上面的T方法并沒有發生覆蓋,只是一個新的方法。
總結
以上是生活随笔為你收集整理的final方法覆盖与重载问题以及不同访问权限问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样编写一个Photoshop滤镜(3)
- 下一篇: 格密码教程(三):基础域概念,体积等;阿