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通过实例了解值传递和引用传递

    java通过实例了解值传递和引用传递

    这篇文章主要介绍了java通过实例了解值传递和引用传递,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • java实现微信支付(服务端)

    java实现微信支付(服务端)

    这篇文章主要介绍了java实现微信支付,针对服务端进行代码编写,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • Java中的Kotlin 内部类原理

    Java中的Kotlin 内部类原理

    这篇文章主要介绍了Java中的Kotlin 内部类原理,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-06-06
  • 详解FutureTask如何实现最大等待时间

    详解FutureTask如何实现最大等待时间

    这篇文章主要为大家详细介绍了如何从源码中了解FutureTask实现最大等待时间的方法,文中的示例代码讲解详细,感兴趣的可以了解一下
    2023-03-03
  • Java+MySQL实现图书管理系统(完整代码)

    Java+MySQL实现图书管理系统(完整代码)

    这篇文章主要介绍了Java+MySQL实现图书管理系统(完整代码),本文给大家介绍的非常想详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Mybatis实现增删改查

    Mybatis实现增删改查

    这篇文章主要介绍了Mybatis实现增删改查,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-01-01
  • Java面试题冲刺第十五天--设计模式

    Java面试题冲刺第十五天--设计模式

    这篇文章主要为大家分享了最有价值的三道关于设计模式的面试题,涵盖内容全面,包括数据结构和算法相关的题目、经典面试编程题等,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • java项目中classpath的理解

    java项目中classpath的理解

    这篇文章介绍了java项目中classpath的理解,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • java基本教程之线程休眠 java多线程教程

    java基本教程之线程休眠 java多线程教程

    本文对javaThread中sleep()方法进行介绍,sleep() 的作用是让当前线程休眠,即当前线程会从“运行状态”进入到“休眠(阻塞)状态”,大家参考使用吧
    2014-01-01
  • Java的Swing编程中使用SwingWorker线程模式及顶层容器

    Java的Swing编程中使用SwingWorker线程模式及顶层容器

    这篇文章主要介绍了在Java的Swing编程中使用SwingWorker线程模式及顶层容器的方法,适用于客户端图形化界面软件的开发,需要的朋友可以参考下
    2016-01-01

最新评论