zoukankan      html  css  js  c++  java
  • private、default、protected和public的作用域

    我们经常用四种修饰符去修饰变量、方法和类,今天我们来测试他们修饰方法时候的作用域。

    测试一

    package Scope1;
    /**
     * 测试类
     */
    public class Person {
        public void publicMed(){}
        protected  void protectedMed(){}
        void defaultMed(){}
        private void privateMed(){}
        // 都可以访问
        public void test(){
            Person person = new Person();
            person.publicMed();
            person.protectedMed();
            person.defaultMed();
            person.privateMed();
        }
    }
    

    测试二

    package Scope1;
    /**
     * 同包,非子类
     */
    public class Test01 {
        public void test01(){
            Person person = new Person();
            person.publicMed();
            person.protectedMed();
            person.defaultMed();
            // private方法不可见
        }
    }
    

    测试三

    package Scope1;
    /**
     * 同包,子类
     */
    public class Test02 extends Person{
        public void test02(){
            super.publicMed();
            super.protectedMed();
            super.defaultMed();
            // private方法不可见
        }
    }
    

    测试四

    package Scope2;
    import Scope1.Person;
    /**
     * 非同包,非子类
     */
    public class Test03 {
        public void test02(){
            Person person = new Person();
            person.publicMed();
            // protected方法不可见
            // default方法不可见
            // private方法不可见
        }
    }
    

    测试五

    package Scope2;
    import Scope1.Person;
    /**
     * 非同包,子类
     */
    public class Test04 extends Person{
        public void test04(){
            super.publicMed();
            super.protectedMed();
            // default方法不可见
            // private方法不可见
        }
    }
    

    总结

    1、private关键子,只能在本类中才可以访问。
    2、default关键字,同包下才可以访问。
    3、protected关键字,同包下和不同包下的子类才可以访问。
    4、public关键字,任何地方都可以访问。

  • 相关阅读:
    博弈基础小结
    P4677 山区建小学|区间dp
    两道DP,四年修一次路
    每天一套题打卡|河南省第七届ACM/ICPC
    nyoj 1278G: Prototypes analyze 与 二叉排序树(BST)模板
    表达式求值
    每天一套题打卡|河南省第八届ACM/ICPC
    每天一套题打卡|河南省第九届ACM/ICPC
    每天一套题打卡|河南省第十届ACM/ICPC
    [UNIX]UNIX常用命令总结
  • 原文地址:https://www.cnblogs.com/feiqiangsheng/p/12233495.html
Copyright © 2011-2022 走看看