• Java编程思想学习笔记——类的访问权限


    类的访问权限

    Java中,访问权限修饰词用于确定库中哪些类对于该库的使用者是可用的。

    public class Foo{
    }
    

    注意点:

    1. 每个文件(编译单元)只能有一个public类。
    2. public类的名称必须完全和含有该编译单元的文件名相匹配,包括大小写。
    3. 编译单元内没有public类也是可行的(不常这么用),在这种情况下,可以随意对文件命名。

    类既不可以是private的(除该类以外,任何类都不能访问它),也不可以是protected。(事实上,内部类可以是private或protected的)

    类的访问权限:包访问权限或public。

    若不希望别人对该类有访问权限,可以将所有的构造器都指定为private,从而阻止其他人创建该类的对象。

    例外
    在该类static成员内部可以创建。

    class Soup1{
        //构造器是private,任何其他人无法创建该类对象
        private Soup1(){
    
        }
        //static方法,创建对象并返回引用。
        //1.可以在返回引用前,做一些额外的工作
        //2. 可以记录创建了几个类的对象
        public static Soup1 makeSoup(){
            return new Soup1();
        }
    }
    class Soup2{
        private Soup2(){
    
        }
       //单例模式,始终只能创建一个对象
        public static Soup2 soup2 = new Soup2();
        public static Soup2 access(){
            return soup2;
        }
        public void f(){
    
        }
    }
    public class Lunch {
        void testPrivate(){
    //        Soup1 soup1 = new Soup1();
        }
        void testStatic(){
            Soup1 soup1 = Soup1.makeSoup();
        }
        void testSingleton(){
            Soup2.access().f();
        }
    }
    
    

    对于包访问权限修饰的类,包内其他类可以创建它的对象,包外则不行。但如果该类的某个static成员的访问权限是public的话,依旧可以调用
    该static成员,尽管它们并不能生成该类对象。

  • 相关阅读:
    百度竞价与百度优化的区别
    apache +php
    复制别人的内容会被百度惩罚吗?
    百度优化也该有职业道德
    几个 PHP 的“魔术常量”
    用php生成静态html页面
    很早以前就说要学习.net了至今还未学!唉.........
    女人的十个经典故事
    我的网站为什么百度收录的越来越少
    Dbf文件操作
  • 原文地址:https://www.cnblogs.com/JohnTsai/p/4628822.html
Copyright © 2020-2023  润新知