美文网首页Java
访问控制权限

访问控制权限

作者: 嘉美伯爵 | 来源:发表于2017-04-10 17:59 被阅读2次

四种访问控制权限

public、protected、default、private。

| NO | 范围 | public |protected|default|private|
| :--------: | :----: | :----: | :--------: | :----: | :----: |:----: |
| 1| 在同一个类中 | √ |√|√| √ |
| 2 | 在同一个包的不同类 | √ | √ |√| |
| 3 | 在不同包的子类 | √ |√|||
| 4 | 在不同包的非子类 | √ |||||

protected权限

package cn.fovegage.demoa;
public class A{
    protected String info = "Hello";
}
--------------------------------------------------------
package cn.fovegage.demob;
import cn.fovegage.demoa.A;
public class B extends A{
    public void print(){
        System.out.println(super.info);
    }
}
-------------------------------------------------------
package test;
import cn.fovegage.demob.B;
public class Test{
    public static void main(String []args){
        new B().print();
    }
}
----------------------------------------------------------
F:\test>javac -d . A.java
F:\test>javac -d . B.java
F:\test>java test.Test
Hello

错误的访问

package test;
import cn.fovegage.demoa.A;
public class Test{
    public static void main(String []args){
        A a = new A();
        System.out.println(a.info);
    }
}
-------------------------------------------
F:\test>javac -d . Test.java
Test.java:6: 错误: info可以在A中访问protected
                System.out.println(a.info);
                                    ^
1 个错误

构造方法私有化

单列设计(Singleton)

class Singleton{
    public void print(){
        System.out.println("Hello World!!!");
    }
}
public class CC {
    public static void main(String []args){
        Singleton s = null;
        s = new Singleton();
        s.print();
    }
}

加入构造方法(错误的代码)

class Singleton{
    private Singleton(){}
    public void print(){
        System.out.println("Hello World!!!");
    }
}
public class CC {
    public static void main(String []args){
        Singleton s = null;
        s = new Singleton();   //此处代码错误
        s.print();
    }
}

相关文章

  • Java基础学习六 关键字

    java语言中的访问控制权限修饰符 访问控制权限修饰来控制元素的访问范围。 访问控制权限修饰符包括:public ...

  • 进阶:访问控制权限

    访问控制权限 访问控制权限:private、protected、public、 默认。 private:私有的只...

  • Java编程思想(第四版)学习笔记(7)

    第六章 访问权限控制 1.访问权限控制的等级 从最大权限到最小权限依次为:public、protected、包访问...

  • java权限控制

    浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制。在讨论访问权限控制之前,先来讨论...

  • 权限控制

    RBAC模式进行权限控制,即(Role-Based Access Control)基于角色的访问控制。实现权限访问...

  • 6、访问权限控制(封装)

    访问权限限制等级,从大到小依次为:public, protected, 包访问权限, private访问权限的控制...

  • Swift 访问控制 ⑭

    1. 访问控制权限 在访问权限控制这块,Swift提供了5个不同的访问控制级别(以下是从高到低排列,实体指被访问级...

  • Java访问控制符

    Java访问控制符的访问权限

  • laravel 之用户授权使用讲解

    版本 laravel5.2 应用场景 控制对资源的访问权限,这个权限不同于RBAC(角色的权限访问控制),比如,只...

  • 2018-07-07学习小结 - 包及访问权限4

    学习 18.2 类成员的访问控制权限 Java中有四种访问控制权限,private、default、protect...

网友评论

    本文标题:访问控制权限

    本文链接:https://www.haomeiwen.com/subject/gmqeattx.html