一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - 淺談java面向對象中四種權限

淺談java面向對象中四種權限

2021-03-04 09:49在月牙上放歌 JAVA教程

這篇文章主要介紹了淺談java面向對象中四種權限,具有一定借鑒價值,需要的朋友可以參考下。

俗話說沒有規矩就沒有方圓,java作為一門嚴謹的面向對象的高級編程語言,自然對權限整個重要的問題有嚴格的控制。

Java中,可以通過一些Java關鍵字,來設置訪問控制權限;

主要有 private(私有), package(包訪問權限),protected(子類訪問權限),public(公共訪問權限)

在java里,這些語句都可以修飾類中的成員變量和方法,但是只有public和友好型可以修飾類。舉個例子:

接下來就詳細解釋一下這幾種權限的差別(博客最后有表格)按權限由低到高:(高權限有低權限所有特性)

Private:

類中的所有private方法和private成員變量只能在類中訪問而不能在其他類中訪問。

例如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package Main;
public class Private {
    private int a;
    private int b;
    Protected (){
        this.a=1;
        this.b=2;
        //a和b只能在Private類中調用
    }
    private void set(){
        System.out.println(""+a+""+b+"\n");
    }
    void Print(){
        this.set();
        //只能在這里用;
    }
}

友好型和protected:

如果在另一個類中聲明其他的一個類,如果這兩個在一個包中那么另一個類能訪問這個其他類的友好型變量不同包不能訪問:

如果在另一個B類中聲明其他的一個類A,如果這兩個在一個包中那么另一個類B也能能訪問這個其他類A的protected變量(或方法),如果不在一個包,那么如果類A有一個父類C如果,如果父類C中有一個protected變量(或方法),只要B,C在一個包中,B就能使用A中從父類繼承的protected方法。如果A是B的子類,如果AB不在一個包中,那么A可以使用B中protected方法。

例如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package Main;
import Protected.*;
public class Main {
    public static void main(String args[]){
        Protected jkl=new Protected();
        jkl.Print();
        //調用jkl父類的protect方法
        Frindly prot =new Frindly();
        System.out.println(prot.a);
        //在Main類中調用友好型的變量
        prot.set();
        //在Main類中調用友好型的方法
    }
}
package Main;
public class Frindly {
    int a,b,c,d;
    Frindly(){
        a=b=c=d=1;
    }
    void set (){
        System.out.print(""+a+" "+b+"\n");
    }
}
package Main;
public class Protectedfather{
    protected int a;
    private int b;
    protected Protectedfather (){
        this.a=1;
        this.b=2;
        //a和b只能在Protected中調用
    }
    private void set(){
        System.out.println(""+a+""+b+"\n");
    }
    protected void Print(){
        this.set();
        //只能在這里用;
    }
}
package Protected;
import Main.*;
public class Protected extends Protectedfather{
    public Protected(){
        super();
        //在另一個包中調用里父類中的protect構造方法
        super.a=12;
        //調用父類的protect變量
    }
}

Public:

如果類中的方法或者變量是public,那么就可以在別的類中調用,沒有限制(用在夸包)。A帶掉用別的包中的B類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package Main;
import Public.*;
public class Main {
    public static void main(String args[]){
        int a;
        Public p=new Public();
        //調用public類中的public方法
        a=p.a;
        //調用Public類中的public變量
        p.set();
    }
}
package Public;
public class Public {
    public int a=12;
    public void set (){
        System.out.println("OK\n");
    }
}

總結表格::

 


同一類

同包

不同包

 

子類

非子類

子類

非子類

Private

  否

友好型

Protected

Public

 

總結

以上就是本文關于淺談java面向對象中四種權限的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/a1237871112/article/details/50926975

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产高清免费在线 | 四虎在线精品免费高清在线 | 法国老妇性xx在线播放 | 久久久久久久久性潮 | 免费精品国产在线观看 | 99福利在线观看 | 四虎国产精品免费久久麻豆 | 男人午夜视频在线观看 | 久久综合老色鬼网站 | 九九热在线视频观看这里只有精品 | 金莲一级淫片aaaaaa | 国产欧美va欧美va香蕉在线观看 | 欧美一区二区三区成人看不卡 | 大陆日韩欧美 | 精品欧美一区二区三区四区 | 欧美成人免费观看的 | 久久99re2在线视频精品 | 欧美交换乱理伦片120秒 | 日韩大片在线 | 色婷婷综合久久久 | 国产a不卡片精品免费观看 国产aaa伦理片 | 911亚洲精品国内自产 | 96av视频在线观看 | 亚洲视频国产精品 | 国产伦精品一区二区三区免费迷 | 精品久久久久久久久久香蕉 | 性夜夜春夜夜爽AA片A | 女人张开腿让男人做爽爽 | 性白俄罗斯高清xxxxx | 天堂成人影院 | 99久久久久国产精品免费 | 精品一产品大全 | 香蕉成人999视频 | 亚洲高清无码在线 视频 | futa百合文| 国产综合亚洲专区在线 | 国内精品 大秀视频 日韩精品 | 国产精品久久香蕉免费播放 | 日本大片免aaa费观看视频 | 黑人巨大爆粗亚裔女人 | 操小女人 |