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关键字,任何地方都可以访问。

  • 相关阅读:
    mysql生成日历表
    入园第一篇
    写于2010年元旦
    C#中abstract与virtual的用法
    大学时的基础知识,回顾一下
    《大话设计模式》读书笔记建造者模式
    转:你真的了解分层架构吗?——写给被PetShop"毒害"的朋友们
    《大话设计模式》读书笔记观察者模式
    客户端与服务器端交互原理[转]
    js取得gridview中获取checkbox选中的值
  • 原文地址:https://www.cnblogs.com/feiqiangsheng/p/12233495.html
Copyright © 2011-2022 走看看