zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    vue学习笔记之v-if
    vue学习笔记之属性和方法
    vue学习笔记之v-for与-repeat
    王阳明心学
    读《铁血并购》
    心理测试:DISC性格测试(完整版)
    关于旅行
    [转载]win32 计时器使用
    [转]C#中调用资源管理器(Explorer.exe)打开指定文件夹 + 并选中指定文件 + 调用(系统默认的播放类)软件(如WMP)打开(播放歌曲等)文件
    [转]C#读写TEXT文件
  • 原文地址:https://www.cnblogs.com/wxlovewx/p/5189950.html
Copyright © 2011-2022 走看看