java中public private_java中public、private、protected区别

类中的数据成员和成员函数据具有的访问权限包括:public、private、protect、friendly(包访问权限)

1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。

作用域 当前类 同一package 子孙类 其他package

public       √          √           √            √

protected √         √            √            ×

friendly     √         √            ×            ×

private     √         ×            ×             ×

不写时默认为friendly ,也即是“包访问权限”。

protected权限:

往往在初学Java的时候,都不会提访问权限和修饰符的问题,在Java的学习中一般都要到包的概念学完才会涉及访问控制:

priavte          本类可见

public            所有类可见

protected      本包和所有子类都可见(本包中的子类非子类均可访问,不同包中的子类可以访问,不是子类不能访问)

friendly          本包可见(即默认的形式)(本包中的子类非子类均可访问,不同包中的类及子类均不能访问)

类的访问权限包括: 包访问权限和public。

1.私有权限 private

private可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部 类,不考虑内部类)。被private修饰的成员,只能在定义它们的类中使用,在 其他类中不能调用。

2.默认权限 (default)

类,数据成员,构造方法,方法成员,都能够使用默认权限,即不写任何关 键字。默认权限即同包权限,同包权限的元素只能在定义它们的类中,以及同包 的类中被调用。

3.受保护权限protected

protected可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外 部类,不考虑内部类)。被protected修饰的成员,能在定义它们的类中,同包 的类中被调用。如果有不同包的类想调用它们,那么这个类必须是定义它们的类 的子类。

4.公共权限 public

public可以修饰类,数据成员,构造方法,方法成员。被public修饰的成员 ,可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符。

有关Java语言的修饰符,需要注意的问题有如下几个:

1.并不是每个修饰符都可以修饰类(指外部类),只有public和default可 以。

2.所有修饰符都可以修饰数据成员,方法成员,构造方法。

3.为了代码安全起见,修饰符不要尽量使用权限大的,而是适用即可。比如 ,数据成员,如果没有特殊需要,尽可能用private。

4.修饰符修饰的是“被访问”的权限。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel转为图片

Java 将Excel转为图片、html、XPS、XML、CSV E_iceblue关注0人评论66人阅读2020-01-10 16:16:24 通过文档格式转换,可满足不同办公场合对文档操作的需求。本文将介绍转换Excel文档为其他常见文档格式的方法。通过文中的方法,可支持将Excel转换为包括PDF、…

Hibernate中使用Criteria查询及注解——( EmpCondition)

EmpCondition: 动态查询的条件类: package cn.bdqn.hibernate_Criteria.entity;import java.util.Date;/*** Criteria动态查询的条件类* author Administrator**/ public class EmpCondition {private String job;//职位private Double sal;//工资privat…

.NET Core 构建配置文件从 project.json 到 .csproj

从 .NET Core SDK 1.0 Preview 3 build 004056 开始,.NET Core 弃用 project.json,回归 .csproj,主要原因是为了兼容 MSBuild ,详见 Announcing .NET Core Tools MSBuild “alpha” 。 如果你安装了 .NET Command Line Tools (1.0…

Java IO: 字符流的Piped和CharArray

转载自 Java IO: 字符流的Piped和CharArray作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) 本章节将简要介绍管道与字符数组相关的reader和writer,主要涉及PipedReader、PipedWriter、CharArrayReader、CharArrayWriter。PipedReader 原文链接 PipedRead…

java正则表达式验证密码_最新密码验证正则表达式

正则表达式验证密码功能在项目中经常被使用到,但是很多朋友还是不大会使用密码正则表达式进行验证,本文小编为大家整理了php密码验证正则表达式、python密码强度正则,当然还有大家常用到的js正则表达式,希望大家喜欢。刚开始复习一…

2019最新 Java商城秒杀系统的设计与实战视频教程(SpringBoot版)

第一章 1-1课程整体介绍.mp4 1-2核心技术列表.mp4 1-3课程要求与收益.mp4 1-4系统的整体演示.mp4 https://www.jianshu.com/writer#/notebooks/42211254/notes/59340149 第二章 2-1微服务项目的搭建-SpringBoot搭建多模块项目一.mp4 2-2微服务项目的搭建-SpringBoot搭建多模块…

mybatis解决 1 字节的 UTF-8 序列的字节 1 无效

Mybatis执行代码报错: Cause: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。 具体报错: java.lang.ExceptionInInitializerError at com.zhang.dao.UserMapperTest.test(UserMappe…

Java IO: 字符流的Buffered和Filter

转载自 Java IO: 字符流的Buffered和Filter作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) 本章节将简要介绍缓冲与过滤相关的reader和writer,主要涉及BufferedReader、BufferedWriter、FilterReader、FilterWriter。 BufferedReader 原文链接 BufferedR…

TechEmpower 13轮测试中的ASP.NET Core性能测试

应用性能直接影响到托管服务的成本,因此公司在开发应用时需要格外注意应用所使用的Web框架,初创公司尤其如此。此外,糟糕的应用性能也会影响到用户体验,甚至会因此受到相关搜索引擎的降级处罚。在选择框架时,又有许多因…

hibernate注解的测试

注解用到的jar包:下载地址 /** * * 注解 * 步骤: * 1.导入jar包 * (1)hibernate-annotations.jar * (2)hibernate-commons-annotations.jar * (3)ejb3-persistence.jar * 2.使用注解配置持久化类级对象关…

Java IO: FileReader和FileWriter

转载自 Java IO: FileReader和FileWriter作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) 本章节将简要介绍FileReader和FileWriter。与FileInputStream和FileOutputStream类似,FileReader与FileWriter用于处理文件内容。 FileReader 原文链接 FileReader能…

java sentence_Java Sentence類代碼示例

本文整理匯總了Java中aima.core.logic.propositional.parsing.ast.Sentence類的典型用法代碼示例。如果您正苦於以下問題:Java Sentence類的具體用法?Java Sentence怎麽用?Java Sentence使用的例子?那麽恭喜您, 這裏精選的類代碼示…

Redis在windows下的安装、启动、配置

Redis在windows下的安装、启动、配置 原创scorpio_meng 最后发布于2018-06-29 13:42:39 阅读数 9687 收藏 展开 1,下载地址:https://github.com/MicrosoftArchive/redis/releases 2,解压缩后在文件夹中创建两个文件夹dbcache、logs。 3&am…

在ASP.NET Core中使用Angular2,以及与Angular2的Token base身份认证

Angular2是对Angular1的一次彻底的,破坏性的更新。 相对于Angular1.x,借用某果的广告语,唯一的不同,就是处处都不同。 首先,推荐的语言已经不再是Javascript,取而代之的TypeScript,(TypeScript …

xml vs db.properties

xml vs db.properties <property name"url" value"jdbc:mysql://localhost:3306/mybatis?useSSLtrue&amp;useUnicodetrue&amp;characterEncodingUTF-8"/>urljdbc:mysql://localhost:3306/mybatis? useSSLtrue&useUnicodetrue&cha…

require.ensure与require AMD的区别

转载自 webpack: require.ensure与require AMD的区别 webpack: require.ensure与require AMD的区别 简介 require-ensure和require-amd的区别&#xff1a; require-amd 说明: 同AMD规范的require函数&#xff0c;使用时传递一个模块数组和回调函数&#xff0c;模块都被下载下来…

python django 是啥_python的django做什么的

Django是一个开放源代码的Web应用框架&#xff0c;由Python写成。采用了MTV的框架模式&#xff0c;即模型M&#xff0c;视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的&#xff0c;即是CMS(内容管理系统)软件。并于2005年7月在BSD许可…

org.springframework.amqp.AmqpConnectException java.net.ConnectException的解决办法

一、报错信息 spring cloud集成rabbitmq时报错&#xff1a; org.springframework.amqp.AmqpTimeoutException: java.util.concurrent.TimeoutException at org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptio…

hibernate注解实体类(Dept.java)

Dept.java 部门信息表的实体类详情 package cn.bdqn.hibernate_Criteria.entity;import java.util.HashSet; import java.util.Set;import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; i…

.NET Core 1.1 升级公告

2016年11月16日发布.NET Core 1.1 。 它包括对其他Linux发行版的支持&#xff0c;有很多更新&#xff0c;是当前的第一个版本。 将在下面描述所有这些变化。 它是“Go Live”&#xff0c;可用于生产工作负载。 您可以立即下载版本&#xff1a;: Windows x64Windows x86macOS …