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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产午夜一区二区在线观看 | 精品国产精品人妻久久无码五月天 | 私人黄色 | 帅老头恋帅老头同性tv | jj视频免费看 | www.青草视频 | 香蕉免费看一区二区三区 | 欧美一卡2卡三卡4卡5卡免费观看 | 亚洲欧美日韩高清 | 范冰冰特黄xx大片 | 成年性午夜免费视频网站不卡 | 好男人资源在线观看免费的 | 爱情岛永久成人免费网站 | free service性v极品 | 五月天婷婷精品免费视频 | 痴mu动漫成年动漫在线观看 | 大乳女子一级毛片 | 4444亚洲国产成人精品 | 成人亚洲精品一区 | 国产日韩精品欧美一区 | 国产精品久久久久久久人人看 | 国产欧美一区二区精品久久久 | 男人使劲躁女人视频免费 | 国产精品嫩草影院一二三区 | 男老头澡堂gay老头456 | 男人狂躁女人下半身 | 国产成人啪精品午夜在线观看 | 欧美理论片手机在线观看片免费 | fuqer日本老师| 王淑兰与铁柱全文免费阅读 | 午夜爱爱片 | 成人一级黄色大片 | 52av我爱avhaose01| 网友自拍偷拍 | 黑人巨茎大战欧美白妇 | 亚洲不卡视频在线观看 | 亚洲成av人片天堂网 | 网站国产 | 99精品久久精品一区二区 | 亚洲精品成人 | 色婷婷综合缴情综六月 |