zoukankan      html  css  js  c++  java
  • 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成员,尽管它们并不能生成该类对象。

  • 相关阅读:
    centos 7.0 yum 分开安装 LAMP 环境 +zabbix3.4环境
    互联网产品接入支付功能如何测试?
    python实现:将文本文件分割成多个小文本文件(php也可实现)
    『危机领导力』告诉我们如何带好团队
    Fiddler显示服务器IP的方法
    Google PageSpeed Tools 性能测试分析
    写给浮躁的测试工程师一封信
    数据库事务和锁
    测试工作中ADB命令实战
    git使用基础
  • 原文地址:https://www.cnblogs.com/JohnTsai/p/4628822.html
Copyright © 2011-2022 走看看