java class private_Java class 中public、protected 、friendly、private的区别
轉載自:http://hi.baidu.com/ceoct/item/7e136a2417ba6f896f2cc33c
Java class 中public、protected 、friendly、private的區別
1.類(class)
可見性修飾符: public—在所有類中可見,在其他包中可以用import導入。
缺省—就是沒有修飾符,在同一個包中的類中可見,在其他包中不能用import導入。
修飾符:final—終態類,表示該類不能被繼承
abstract—抽象類,不能新建對象
2. 變量(variable)
Java中變量有兩種,方法變量和字段變量
方法變量只能用一個修飾符:final—表示常量,不能修改
下面是字段變量的修飾符
可見性修飾符:public—在任何類中可見
protected—?????? 在子類中或同一個包中可見
private—只在本類中可見,子類中也不可見
缺省—在同一個包中可見,子類不在一個包中,子類中也不可見
修飾符:static—靜態變量,被類的所有實例共享
final—常量,定義后不能修改
*transient—告訴編譯器,在類對象序列化的時候,此變量不需要持久保存
*volatile—指出可能有多個線程修改此變量,要求編譯器優化以保證對此變量的修改能夠被正確的處理
這兩帶*的不是很常用,但也是Java的修飾符,我也不是很清楚
3.方法(method)
可見性修飾符:public—在任何類中可見
protected—在子類中或同一個包中可見
private—只在本類中可見,子類中也不可見
缺省—在同一個包中可見,子類不在一個包中,子類中也不可見
修飾符: static—靜態方法,并不需要創建類的實例就可以訪問靜態方法
final—常方法,所有子類不能覆蓋該方法,但可以重載
abstract—抽象方法,在抽象類中沒有實現的方法
native—本地方法,參見Java Native Interface(JNI)
synchronized —在多線程中,synchronized方法調用時,其他所有方法不能調用該方法
3. 接口(interface)
可見性修飾符:public—所有類中可見
缺省—同一個包中可見
接口中的變量總是需要定義為“ public static final 接口名稱”,但可以不包含這些修飾符,編譯器默認就是這樣
接口中的方法只能使用public和abstract修飾符
修飾符的訪問范圍如下:|????????修飾符??????|??類??|成員訪求|構造方法|成員變量|局部變量||
abstract
抽象的??|??√??|???√? ? ? ? ? |???-??????? |???-??????? |???-?????? ||
static
靜態的? ?? |??-??|???√? ? ? ?? |???-? ? ? ? |???√? ? ? ?? |???-????? ? ||
public
公共的???|??√ ? |???√ ? ? ??? |???√? ? ? ? ? |???√????????? |???-? ? ?? ||
protected 受保護的
|???? ?? |???√ ? ? ? ? |???√? ? ? ? ? |???√ ? ? ? ? |???-? ? ? ? ||
private
私有的???|??-??|???√? ? ? ?? |???√ ? ? ? ? ? |???√? ? ? ?? |???-? ? ?? ||
synchronized 同步的
|??-??|???√? ? ? ?? |???-? ? ? ?? |???-? ? ? ?? |???- ? ?? ||
native
本地的???|??-??|???√????????? |???-? ? ? ?? |???- ? ? ??? |???- ? ?? ||
transient
暫時的??|??-??|???-? ? ? ? |???-???????? |???√ ? ? ? ? ? |???-????? ||
volatie
易失的???|??-??|???- ? ? ? ? |???- ? ? ? ? |???√ ? ? ? ? ?? |???- ? ? ||
final
不要改變的??|??√ ?? |???√ ? ? ? ?? |???- ? ? ? ? |???√? ? ? ? ? ? |???√? ? ?? |
1.private :(妻子) 只有自己能用。
2.public :(J女)誰都可以用。
3.protected:(家里的鑰匙)只有家人可以用。
4.friendly:(公共客廳) 你和別人合租房子,公共客廳就是friendly 。
在說明這四個關鍵字之前,我想就class之間的關系做一個簡單的定義,對于繼承自己的class,base class可以認為他們都是自己的子女,而對于和自己一個目錄下的classes,認為都是自己的朋友。
總結
以上是生活随笔為你收集整理的java class private_Java class 中public、protected 、friendly、private的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 与40mhz信道不兼容设置_为什么面包板
- 下一篇: mysql入门优化_MySQL数据库:M