String类能被继承吗,为什么?
生活随笔
收集整理的這篇文章主要介紹了
String类能被继承吗,为什么?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
不能被繼承,因為String類有final修飾符,而final修飾的類是不能被繼承的。
Java對String類的定義:
final修飾符的用法:
1.修飾類
當用final修飾一個類時,表明這個類不能被繼承。final類中的成員變量可以根據需要設為final,但是要注意final類中的所有成員方法都會被隱式地指定為final方法。
2.修飾方法
使用final修飾方法的原因有兩個。第一個原因是把方法鎖定,以防任何繼承類修改它的含義;第二個原因是效率。在早期的Java實現版本中,會將final方法轉為內嵌調用。但是如果方法過于龐大,可能看不到內嵌調用帶來的任何性能提升。在最近的Java版本中,不需要使用final方法進行這些優化了。
因此,只有在想明確禁止該方法在子類中被覆蓋的情況下才將方法設置為final。
注:一個類中的private方法會隱式地被指定為final方法。
3.修飾變量
對于被final修飾的變量,如果是基本數據類型的變量,則其數值一旦在初始化之后便不能更改;如果是引用類型的變量,則在對其初始化之后便不能再讓其指向另一個對象。雖然不能再指向其他對象,但是它指向的對象的內容是可變的。
?
總結
以上是生活随笔為你收集整理的String类能被继承吗,为什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis钟setnx命令
- 下一篇: 《HBase权威指南》读书笔记3