javaprivate javaprivate變量


javaprivate javaprivate變量

文章插圖
大家好,小豆豆來為大家解答以上的問題 。javaprivate變量,javaprivate這個很多人還不知道,現在讓我們一起來看看吧!
1、一般的類是不能用private修飾,類的可見性最少是包可見的,也就是默認的 , 不加任何修飾 。
2、但是有一種特殊的情況,內部類是可以用private修飾的!不讓類以外的其他類訪問!這個問題在《java核心技術》里有講!Java的外部類為什么不能使用private、protected進行修飾?對于頂級類(外部類)來說,只有兩種修飾符:public和默認(default) 。
3、因為外部類的上一單元是包,所以外部類只有兩個作用域:同包,任何位置 。
4、因此,只需要兩種控制權限:包控制權限和公開訪問權限,也就對應兩種控制修飾符:public和默認(default) 。
5、如果類使用了private修飾符,說明是個內部類 。
6、內部類的上一級是外部類,那么對應的有四種訪問控制修飾符:本類(private),同包(default),父子類(protected),任何位置(public) 。
7、當一個內部類使用了private修飾后,只能在該類的外部類內部使用 。
8、可以想一下,一個java項目是不可能在一個class里面完成的 。
9、mvc模式中,是把類分為三層,一層層調用類 。
10、如果定義為私有的和受保護的就無法調用 。
11、換句話說 , 對于一個java文件,要么就是自己單獨運行,要么就是被其他程序作為庫調用 。
12、如果一個java文件的類被private修飾,那么是不是其他的程序或是類是無法使用它的,那么他作為一個單獨的文件就沒啥用了 。
13、如果它作為單個文件運行,類加載怎么找到它呢,因為它對外不可見 。
14、同時,也失去了類的存在意義 。
15、因此,類只有public和默認修飾符 。
16、當然可以了! (但是基本不推薦這樣寫)但是只能修飾內部類-----外部類不能用private修飾,不然直接就報錯! 例子: public class TestInnerStatic { private static class InnerClass { public static void doSomething() { ln("private Class doSomething"); } } public static void main(String[] args) { ething(); } } 但是,這個地方一定要注意了:內部類中方法只能是static的,因此,內部類也要聲明為靜態的! 你如果把 public class TestInnerStatic 這個外部類的修飾符改為private,編譯器馬上就報錯了!不推薦內部類的寫法-----這跟面向對象的理念是不協調的 。
17、但是作為java程序員,這個基本知識是要懂得 , 在特殊情況下很有必要使用----訪問權限!一般的類是不能用private修飾,類的可見性最少是包可見的,也就是默認的,不加任何修飾 。
18、但是有一種特殊的情況請你一定要記住,內部類是可以用private修飾的!不讓類以外的其他類訪問!這個問題在《java核心技術》里有講!呵呵,不用這么在意哦,一般類都是 public 的,我很少見是 private 的,除非是有毛病的人非要讓你這么寫,你只記著是 public 就行了,別人說你錯,你來找我,我幫你K他不能 。
【javaprivate javaprivate變量】本文到此分享完畢,希望對大家有所幫助 。