Java类的访问权限关键字用法说明

 更新时间:2020年09月29日 10:48:35   作者:xqnode  
这篇文章主要介绍了Java类的访问权限关键字用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

Java中提供了三个关键字在类的内部设置边界,控制类的访问权限,分别是:public、protected、private。这些访问的指定词决定了紧跟其后的被定义的东西可以被谁使用。

public:表示其后的元素对任何人都可以使用。

private:表示其后的元素除了类型的创建者和内部的方法之外任何人都不能访问。

protected:与private相当,差别在于继承的类可以访问protected修饰的元素,同包中的其他类元素也可以访问。

Java还有一种默认的访问权限,在不指定任何关键字的情况下,这种权限将发挥作用,它是一种包的访问权限,即在当前包中的任何元素可以访问。

访问权限控制的作用:

1、让客户端程序员无法触及他们不应该触及的一部分数据——这些数据对于数据类型的内部操作是必须的,但并不是解决特定问题所需接口的一部分。隐藏一些实现的细节对于保护数据类型内部脆弱的部分,提高程序的安全性和可用性也是必须的。

2、允许类库的设计者改变其内部的工作方式而不影响客户端程序员。在设计者有更加优化的代码设计方式的时候可以随时改变类的内部结构,而这些对于客户端程序员都是不可见的,他们也无需关心类的实现细节。

——来自《Java编程思想》

补充知识:JAVA 中的权限访问修饰符(public,protected,default,private )

JAVA中有四个权限访问修饰符:public,protected,default,private

注意:这里讲的是对类中属性和方法的访问权限,并不是类的访问权限

1.default:包访问权限

如果什么也没写,默认为default。当然也可以显式得给出default权限

default修饰的属性和方法,包中的所有其他类对那个成员都有访问权限,但是对于这个包之外的所有类没有访问权限。

2.public: 接口访问权限

public修饰的属性和方法对每个类都是可见的

3.private:类内访问权限

private和public相对,private修饰的属性和方法即除类本身外,其他类都不能访问。

4.protected:继承访问权限

首先,protected提供包访问权限。换句话说,如果两个类在同一个包内,对调用者所在的类来说,default和protected提供的访问权限相同。

如果不在一个包,protected提供了继承访问权限,即子类可以访问父类中被protected修饰的属性和方法。

他们关系如下:

类内 继承 包内 其他所有
public
protected
default
private

以上这篇Java类的访问权限关键字用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java Unsafe 类的讲解

    Java Unsafe 类的讲解

    这篇文章主要给大家分享了 Java Unsafe 类的讲解,文章围绕Unsafe 类的相关资料展开详细内容,具有一定的参考价值需要的朋友可以参考一下
    2021-11-11
  • Java通用BouncyCastle实现的DES3加密的方法

    Java通用BouncyCastle实现的DES3加密的方法

    这篇文章主要介绍了Java通用BouncyCastle实现的DES3加密的方法,本文给大家介绍的非常详细,对大家的学习或工作,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Java数组拷贝的几种方法小结

    Java数组拷贝的几种方法小结

    本文主要介绍了Java数组拷贝的几种方法小结,包括for循环、System.arraycopy()、Arrays.copyOf()、Arrays.copyOfRange()和clone()方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • SpringBoot开发之整合Mybatis详解

    SpringBoot开发之整合Mybatis详解

    这篇文章主要介绍了SpringBoot开发之整合Mybatis详解,MyBatis是一个半自动的ORM框架,它允许我们通过编写SQL语句来操作数据库,使用MyBatis,我们可以通过定义映射文件(XML文件)或使用注解的方式将Java对象与数据库表进行映射,需要的朋友可以参考下
    2023-09-09
  • springcloud-gateway整合jwt+jcasbin实现权限控制的详细过程

    springcloud-gateway整合jwt+jcasbin实现权限控制的详细过程

    这篇文章主要介绍了springcloud-gateway整合jwt+jcasbin实现权限控制,基于springboot+springcloud+nacos的简单分布式项目,项目交互采用openFeign框架,单独提取出来成为一个独立的model,需要的朋友可以参考下
    2023-02-02
  • Spring Boot 通过注解实现数据校验的方法

    Spring Boot 通过注解实现数据校验的方法

    这篇文章主要介绍了Spring Boot 通过注解实现数据校验的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Java System类详解_动力节点Java学院整理

    Java System类详解_动力节点Java学院整理

    System类是jdk提供的一个工具类,有final修饰,不可继承,由名字可以看出来,其中的操作多数和系统相关。这篇文章主要介绍了Java System类详解_动力节点Java学院整理,需要的朋友可以参考下
    2017-04-04
  • Java实现邮箱发送功能实例(阿里云邮箱推送)

    Java实现邮箱发送功能实例(阿里云邮箱推送)

    这篇文章主要给大家介绍了关于Java实现邮箱发送功能的相关资料,利用阿里云邮箱推送,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 简单了解如何在spring中使用RabbitMQ

    简单了解如何在spring中使用RabbitMQ

    这篇文章主要介绍了简单了解如何在spring中使用RabbitMQ,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Spring实战之ResourceLoader接口资源加载用法示例

    Spring实战之ResourceLoader接口资源加载用法示例

    这篇文章主要介绍了Spring实战之ResourceLoader接口资源加载用法,结合实例形式分析了Spring使用ResourceLoader接口加载资源的相关配置与使用技巧,需要的朋友可以参考下
    2020-01-01

最新评论