java类成员中的访问级别浅析

 更新时间:2021年01月31日 09:56:44   作者:小妮浅浅  
在本篇文章里小编给大家整理的是一篇关于java类成员中的访问级别浅析内容,有兴趣的朋友们跟着学习下。

我们知道想要访问一个网站,根据身份的不同,会有一些使用上的限制,这就是权限级别的体现。在java的类成员中,有一些访问的级别是需要我们了解的,主要分为四种:public、private、protected、package。下面我们就这四种访问修饰符分别进行详细的介绍。

一、四种访问修饰符

1.public修饰符用于暴露域和方法,以便在类定义的包外部能访问它们。对包和类中必要的接口元素,也需要使用这个级别;main()方法必须是public的,toString()方法也必须是public的。一般不会用public暴露一个域,除非这个域已经被声明为final。(包内访问)

2.private标识的访问模式,表示私有的域和方法只能被同一个类中的其他方法访问,实现了数据隐藏;必要时,可以通过方法访问私有变量。(类内访问)

3.protected修饰符提供一个从包外部访问包(有限制)的方法。在域和方法前增加protected修饰符不会影响同一个包内其他类和方法对它们的访问。要从包外部访问包(其中含有protected成员的类),必须保证被访问的类是带有protected成员类的子类。也就是说,希望包中的一个类被包之外的类继承重用时,就可以使用这个级别。一般应该慎用。(跨包访问)

4.package是默认的保护模式,又叫做包访问,没有任何修饰符时就采用这种保护模式。包访问允许域和方法被同一个包内任何类的任何方法访问。(包中类被包外类继承重用)

二、修饰符说明

1.前三种类型的访问级别使用以下三个关键字之一来指定:public,private或protected。第四种类型称为默认访问级别(或包级别),并且通过不使用访问修饰符来指定。

如果类成员使用public关键字声明为公开,如果类本身可访问的话,则可以从Java代码中的任何位置访问它。

2.如果使用private关键字将类成员声明为私有,则只能在声明类的主体中访问,而在其他任何地方都不能访问。

3.如果使用protected关键字将类成员声明为保护,则可以从同一包中的类或该类的子类来访问此类成员,即使子类位于不同的包中也是可以访问的。

4.如果不为类成员使用任何访问级别修辞符,则它具有包级别访问权限。 具有包级别访问权限的类成员可以从同一个包中访问。

5.类成员的访问级别可以从最严格到最不严格,即:private,package-level,protected和public。

知识点扩展:

类可以是public或default(或包级别)。在本教程中主要介绍 public,private,protected 这几个访问级别修辞符的使用。
类成员的访问级别确定程序的哪个区域可以访问它。 以下四个访问级别修饰符之一可以用于类成员:

  • 公开(public)
  • 私有(private)
  • 保护(protected)

默认或包级别访问
前三种类型的访问级别使用以下三个关键字之一来指定:public,private或protected。第四种类型称为默认访问级别(或包级别),并且通过不使用访问修饰符来指定。

如果类成员使用public关键字声明为公开,如果类本身可访问的话,则可以从Java代码中的任何位置访问它。

如果使用private关键字将类成员声明为私有,则只能在声明类的主体中访问,而在其他任何地方都不能访问。

如果使用protected关键字将类成员声明为保护,则可以从同一包中的类或该类的子类来访问此类成员,即使子类位于不同的包中也是可以访问的。

如果不为类成员使用任何访问级别修辞符,则它具有包级别访问权限。 具有包级别访问权限的类成员可以从同一个包中访问。

到此这篇关于java类成员中的访问级别浅析的文章就介绍到这了,更多相关java类成员中的访问级别有哪些内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Maven修改运行环境配置代码实例

    Maven修改运行环境配置代码实例

    这篇文章主要介绍了Maven修改运行环境配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Spring项目运行依赖spring-contex解析

    Spring项目运行依赖spring-contex解析

    这篇文章主要介绍了Spring项目运行依赖spring-contex解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Java实现定时备份文件

    Java实现定时备份文件

    这篇文章主要为大家详细介绍了Java实现定时备份文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Java中Collections.emptyList()的注意事项

    Java中Collections.emptyList()的注意事项

    这篇文章主要给大家介绍了关于Java中Collections.emptyList()的注意事项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Java中异常处理之try和catch代码块的使用

    Java中异常处理之try和catch代码块的使用

    这篇文章主要介绍了Java中异常处理之try和catch代码块的使用,是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • Spring整合JUnit详解

    Spring整合JUnit详解

    Spring 是目前主流的 Java Web 开发框架,是 Java 世界最为成功的框架。该框架是一个轻量级的开源框架,这篇文章主要介绍如何配置数据源、注解开发以及整合Junit,感兴趣的同学可以参考一下
    2023-04-04
  • Spring MVC异常处理机制示例详解

    Spring MVC异常处理机制示例详解

    这篇文章主要给大家介绍了关于Spring MVC异常处理机制的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring MVC具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • JavaCV调用百度AI实现人脸检测方法详解

    JavaCV调用百度AI实现人脸检测方法详解

    在检测人脸数量、位置、性别、口罩等场景时,可以考虑使用百度开放平台提供的web接口,一个web请求就能完成检测得到结果。本文就为大家介绍JavaCV如何调用百度AI实现最简单的人脸检测,需要的可以参考一下
    2022-01-01
  • Java序列化和反序列化_动力节点Java学院整理

    Java序列化和反序列化_动力节点Java学院整理

    把对象转换为字节序列的过程称为对象的序列化,把字节序列恢复为对象的过程称为对象的反序列化。接下来通过本文给大家介绍Java序列化和反序列化及主要的两种用途,感兴趣的的友参考下吧
    2017-05-05
  • 简单了解java类的初始化以及类的实例化

    简单了解java类的初始化以及类的实例化

    这篇文章主要介绍了简单了解java类的初始化以及类的实例化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07

最新评论