Java類方法訪問權限


1.權限解析

Java有四種訪問權限, 其中三種有訪問權限修飾符,分別為private,public和protected,還有一種不帶任何修飾符。

private: Java語言中對訪問權限限制的最窄的修飾符,一般稱之為“私有的”。被其修飾的類、屬性以及方法只能被該類的對象訪問,其子類不能訪問,更不能允許跨包訪問。

  1. default:即不加任何訪問修飾符,通常稱為“默認訪問模式“。該模式下,只允許在同一個包中進行訪問。
  2. protect: 介於public 和 private 之間的一種訪問修飾符,一般稱之為“保護形”。被其修飾的類、屬性以及方法只能被類本身的方法及子類訪問,即使子類在不同的包中也可以訪問。
  3. public: Java語言中訪問限制最寬的修飾符,一般稱之為“公共的”。被其修飾的類、屬性以及方法不僅可以跨類訪問,而且允許跨包(package)訪問。
下面用表格的形式來展示四種訪問權限之間的異同點,這樣會更加形象。表格如下所示:
 
 

同一個類

同一個包

不同包的子類

不同包的非子類

Private

     

Default

   

Protected

 

Public

2.代碼應用
 
創建一個Spoon類:
package com.samsung.wx;

public class Spoon {

    private static void printArrayPrivate(String... args){
        for(String obj: args){
            System.out.print(obj.toString());
        }
        System.out.println();
    }
     
    public static void printArrayPublic(String... args){
        for(String obj: args){
            System.out.print(obj.toString());
        }
        System.out.println();
    }
        
    protected static void printArrayProtect(String... args){
        for(String obj: args){
            System.out.print(obj.toString());
        }
        System.out.println();
    }
    
    static void printArrayDefault(String... args){
        for(String obj: args){
            System.out.print(obj.toString());
        }
        System.out.println();
    }
}
View Code

在另一個包中調用Spoon的方法,只有public方法可以被調用:

package com.samsung.wx2;

import com.samsung.wx.Spoon;


public class Test {
    
    public static void main(String[] args) {

        Spoon.printArrayPublic("public");
        
    }
}
View Code

創建一個類SubSpoon繼承Spoon(和Spoon在不同包中), 可以在SubSpoon中調用Spoon的protect方法:

package com.samsung.wx2;

import com.samsung.wx.Spoon;

public class SubSpoon extends Spoon{
        
    public SubSpoon()
    {
        Spoon.printArrayProtect("protect");
    }

}
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM