zoukankan      html  css  js  c++  java
  • 【Java_基础】Java的访问权限控制

    1.类成员的访问权限控制

    Java中类成员的访问权限分为四类:private,无(默认情况下),protected和public。其权限控制如下表所示:

    修饰词

    本类

    同一个包的类

    继承类

    其他类

    private

    ×

    ×

    ×

    无(默认)

    ×

    ×

    protected

    ×

    public

     其中,类成员在默认情况下没有任何修饰词,这样的成员具有“包访问权”,即位于同一个包中的类对其有访问权;而protected为“继承访问权”,即该类的子类对其具有访问权(同时,位于同一个包中的类也对其具有访问权)。

    2.类自身的访问权限控制

    对于java类自身(除了内部类外,因为内部类也是类的成员故有上述四种权限修饰),其访问权限仅有两种:public和“无”(即包访问权),而没有private和protected。如果你 不希望其他任何人对该类拥有访问权,你可以把所有的构造器都指定为private,从而阻止任何人创建该类的对象。但是可以通过该类的静态方法创建对象,如下面的例子:

    class Soup {
           // private Constructor!
           private Soup() {}
           // Allow creation via static method:
           public static Soup makeSoup() {
               return new Soup();
           }
        }

    注意:

    1、如果一个.java源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同。

    2、如果源文件中没有public类,那么源文件的名字可以任意取。这样编译是没问题的,运行时选择主类(包含main方法)运行就可以。

    3、main()方法不是必须要放在public类中才能运行程序。

    本篇博文参考:Java基础详解 (一)Java的类成员访问权限修饰词(以及类访问权限)

  • 相关阅读:
    线程间的通信
    不用加减乘除做加法
    关键字throw(something)限制
    C++ 中的“ !” 运算
    n个骰子的点数
    State 模式
    Strategy 模式
    构造函数为什么不能是虚函数 ( 转载自C/C++程序员之家)
    n个骰子的点数
    和为S的两个数字
  • 原文地址:https://www.cnblogs.com/leiblog/p/10491163.html
Copyright © 2011-2022 走看看